EasyInput starting from version 4.03 can be easily integrated with MS Power Automate Desktop.
The easiest way to make calling EasyInput script from Power Automate Desktop (PAD) is to prepare an EI workbook with special macro that will be called from Power Automate Desktop. Example of such a macro:
Code: Select all
Public Function MyEIMacro(ByVal iUser As String, ByVal iPass As String, ByVal iScriptID As String, ByVal iRunType As String) As Boolean
Dim addIn As COMAddIn
Dim automationObject As Object
Dim pWorkbook As Workbook
Dim e_Result As Boolean
On Error GoTo ErrorHandling
e_Result = False
Set addIn = Application.COMAddIns("EasyInput")
' force add-in start
addIn.Connect = True
Set automationObject = addIn.Object
Set pWorkbook = ActiveWorkbook
' prepare and run the first script
automationObject.API_BCC_EI_SetSAPUser pWorkbook, iUser
automationObject.API_BCC_EI_SetSAPPass pWorkbook, iPass
automationObject.API_BCC_EI_ClearResultMessages pWorkbook
automationObject.API_BCC_EI_ClearLevelOrder pWorkbook
If iScriptID <> "" Then automationObject.API_BCC_EI_SetScript pWorkbook, iScriptID
automationObject.API_BCC_EI_SetRunType pWorkbook, iRunType
If automationObject.API_BCC_EI_RunScript(pWorkbook) = True Then
e_Result = True
End If
MyEIMacro = e_Result
Exit Function
ErrorHandling:
' Do nothing
End Function
Public Sub Start(ByVal iUser As String, ByVal iPass As String, ByVal iScriptID As String, ByVal iRunType As String)
If MyEIMacro(iUser, iPass, iScriptID, iRunType) = False Then
ThisWorkbook.Sheets("EI_Data").Range("B5").Value = "Error calling VBA Automation!"
End If
End Sub
In Power Automate Desktop you call the Start macro passing parameters separated by semocolons e.g.:
Start;%i_User%;%i_Pass%;%i_EIScriptID%;%i_EIRunType%
Example if Power Automate Desktop Flow added as attachments: