Hallo,
ich programmiere zurzeit ein Makro, das bestimmte Textfelder aus unsrem ERP-System (Psipenta) auslesen soll.
Jedoch blieb ich an einer Fehlermeldung hängen: Laufzeitfehler 5 - Ungültiger Prozedurauruf oder ungültiges Argument.
Ich wäre demjenigen sehr dankbar, wenn dieser mir helfen könnte. Habe schon mehrere Varianten ausprobiert, immer kommt dieser Fehler.
Zusätzlich wird noch eine Verbindung mit einer externen Tabelle (XDMR) hergestellt, aus dieser Tabelle wird ein Textfeld (CONTENT) ausgelesen.
Wenn ich aus der internen Tabelle ein Textfeld auslese kommt der selbe Fehler.
Ich weiss nur, dass der Inhalt des Textfeldes nicht übergeben wird und strZusatzfeld1 dann leer ist.
Mein Code sieht wie folgt aus:
[code]
Sub Testbutton_Click()
Dim oBoXDMR As PsipentaBO
Dim oDetailXDMR As PsipentaDetail
Dim oFilterXDMR As PsipentaFilter
Dim oDetail As PsipentaDetail
Dim strZusatzfeld1 As String
Dim strTag1 As String
Dim strTag2 As String
Dim intLeft As Integer
Dim intRight As Integer
Set oBoXDMR = Application.createBO("XDMR")
Set oDetailXDMR = oBoXDMR.getDetail
Set oFilterXDMR = oBoXDMR.getFilter
On Error GoTo ErrorHandler
strZusatzfeld1 = oDetailXDMR.getFieldContent("CONTENT")
MsgBox (strZusatzfeld1)
intLeft = InStr(1, strZusatzfeld1, "<") + 1
intRight = InStr(intLeft, strZusatzfeld1, ">")
strTag1 = Mid(strZusatzfeld1, intLeft, intRight - intLeft) 'Diese Zeile wird beim Ausführen des Makros
'markiert, sobald ich auf Debuggen klicke.
MsgBox (strTag1)
intLeft = InStr(intRight, strZusatzfeld1, "<") + 1
intRight = InStr(intLeft, strZusatzfeld1, ">")
strTag2 = Mid(strZusatzfeld1, intLeft, intRight - intLeft)
MsgBox (strTag2)
Exit Sub
ErrorHandler:
Select Case Err.Number
Case PsipentaErrNoSelectionSet
' Nichts selektiert
Message = Err.Description
Case Else
' sonstiger Fehler
Message = "Error: " & Err.Number & " " & Err.Description
End Select
End Sub
[/code]
Danke schon mal.
Beste Grüße
Peter Brausel |