Hallo,
mal ne kurze Frage bezüglich VBA/VBS. Ich habe für ein ERP System die Möglichkeit VBA-Code zu nutzen um Vorgänge zu automatisieren.
Wäre es irgendwie möglich diesen VBA / VBS Code aus Autoit heraus aufzurufen?
Wenn ja wie???
Hallo,
mal ne kurze Frage bezüglich VBA/VBS. Ich habe für ein ERP System die Möglichkeit VBA-Code zu nutzen um Vorgänge zu automatisieren.
Wäre es irgendwie möglich diesen VBA / VBS Code aus Autoit heraus aufzurufen?
Wenn ja wie???
Wäre es irgendwie möglich diesen VBA / VBS Code aus Autoit heraus aufzurufen?
In den meisten Fällen läßt sich VBA-Code direkt mit den verwendeten Objekten nach AutoIt portieren. Bedingung: AutoIt muß auf das Objekt zugreifen können. Schau dir mal ObjCreate ObjGet an. Wenn du nicht voran kommst: Poste den VBA-Code hier.
So sieht der Beispiel VBA Code aus der Hilfe aus...
Option Explicit
Sub DVProc_Cust1_Automation(ByVal oPsipentaDetail As PsipentaDetail)
Dim oBO_PFSP As PsipentaBO
Dim oFilter_PFSP As PsipentaFilter
Dim oOverview_PFSP As PsipentaOverview
Dim oDetail_PFSP As PsipentaDetail
Dim i As Integer
On Error GoTo Error_Handling:
If VbaMacroMayDisplayGui Then
BringVbaToFront
Set oBO_PFSP = Application.createBO("PFSP")
Set oFilter_PFSP = oBO_PFSP.getFilter
Set oOverview_PFSP = oBO_PFSP.getOverview
Set oDetail_PFSP = oBO_PFSP.getDetail
oFilter_PFSP.Clear
oFilter_PFSP.setFieldContent "F_ARTIKEL", _
oPsipentaDetail.getFieldContent("ARTIKEL_NR", , 1)
oFilter_PFSP.gotoOverview
For i = 0 To oOverview_PFSP.getArraySize - 1
Message = Message & " - " & oOverview_PFSP.getFieldContent("RUECKMELDE_NR", , i)
Next i
Else
Message = "Abbruch: Verteilte Installation, daher Funktion deaktiviert!"
End If
Exit Sub
Error_Handling:
Message = Err.Description
End Sub
Alles anzeigen
Nun teste mal, ob du das Objekt mit AutoIt erstellen kannst:
VBA
Set oBO_PFSP = Application.createBO("PFSP")
AutoIt
$oBO_PFSP = ObjCreate("PFSP")
prüfen ob Objekt erstellt wurde: MsgBox(0, 'Objekt', 'Objekt erstellt: ' & (IsObj($oBO_PFSP ) ? 'JA' : 'NEIN'))
P.S.
Wird wohl fehlschlagen. PSIpenta verwendet eigene Objekte, die Dokumentation dazu ist nicht (mehr?) zugänglich. Wende dich mal an deren Support, die mögen doch ein Manual mit den genutzten Objekten, Methoden und Eigenschaften zur Verfügung stellen und natürlich auch eine Beschreibung des Objektaufrufs.
Wäre es irgendwie möglich diesen VBA / VBS Code aus Autoit heraus aufzurufen?
Die Frage, die sich stellt: Was meinst du mit "aufrufen".
Wenn es lediglich darum geht, VBS Code aus AutoIt zu starten, dann könntest du das VB Skript in einer Datei speichern (z.B. "Test.vbs") und mit ShellExecute ausführen.
Beispiel: