Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

VBA Laufzeitfehler 5 beim Auslesen von einem Textfeld aus ERP-System (Psipenta)

Frage Entwicklung VB for Applications

Mitglied: OxanaG

OxanaG (Level 1) - Jetzt verbinden

05.12.2012, aktualisiert 10:40 Uhr, 3416 Aufrufe, 9 Kommentare

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 Prozeduraufruf oder ungültiges Argument - Fehlermeldung für Zeile 27, diese Zeile wird beim Ausführen markiert.
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:

01.
Sub Testbutton_Click()    
02.
     
03.
  Dim oBoXDMR As PsipentaBO 
04.
  Dim oDetailXDMR As PsipentaDetail 
05.
  Dim oFilterXDMR As PsipentaFilter 
06.
   
07.
  Dim oDetail As PsipentaDetail 
08.
     
09.
  Dim strZusatzfeld1 As String 
10.
  Dim strTag1 As String 
11.
  Dim strTag2 As String 
12.
  Dim intLeft As Integer 
13.
  Dim intRight As Integer 
14.
 
15.
  Set oBoXDMR = Application.createBO("XDMR") 
16.
  Set oDetailXDMR = oBoXDMR.getDetail 
17.
  Set oFilterXDMR = oBoXDMR.getFilter 
18.
 
19.
  On Error GoTo ErrorHandler 
20.
     
21.
  strZusatzfeld1 = oDetailXDMR.getFieldContent("CONTENT") 
22.
 
23.
  MsgBox (strZusatzfeld1) 
24.
     
25.
  intLeft = InStr(1, strZusatzfeld1, "<") + 1 
26.
  intRight = InStr(intLeft, strZusatzfeld1, ">") 
27.
  strTag1 = Mid(strZusatzfeld1, intLeft, intRight - intLeft) 'Diese Zeile wird beim Ausführen des Makros  
28.
                                                             'markiert, sobald ich auf Debuggen klicke. 
29.
 
30.
  MsgBox (strTag1) 
31.
 
32.
  intLeft = InStr(intRight, strZusatzfeld1, "<") + 1 
33.
  intRight = InStr(intLeft, strZusatzfeld1, ">") 
34.
  strTag2 = Mid(strZusatzfeld1, intLeft, intRight - intLeft) 
35.
 
36.
  MsgBox (strTag2) 
37.
 
38.
Exit Sub 
39.
 
40.
ErrorHandler: 
41.
    Select Case Err.Number 
42.
         Case PsipentaErrNoSelectionSet 
43.
             ' Nichts selektiert 
44.
             Message = Err.Description 
45.
         Case Else 
46.
             ' sonstiger Fehler 
47.
             Message = "Error: " & Err.Number & " " & Err.Description 
48.
    End Select 
49.
     
50.
End Sub

Danke schon mal.

Beste Grüße

Peter Brausel
Mitglied: SlainteMhath
05.12.2012 um 11:03 Uhr
Moin,

vielleicht solltest Du prüfen, ob strZusatzfeld1="" ist und wenn ja dann eben nicht versuchen die Tags per MID$ auslesen.

lg,
Slainte
Bitte warten ..
Mitglied: 76109
05.12.2012 um 11:05 Uhr
Hallo OxanaG!

Du musst in den Codezeilen 25-27 auch sicherstellen, dass das Zeichen "<" oder ">" im String vorhanden ist, ansonsten bekommst Du als Ergebnis 0, was bei der Weiterverarbeitung zu Deinem Fehler führt (Position 0 gibt es nicht).

In etwa so:
01.
intPos = InStr(strZusatzfeld1, "<") 
02.
 
03.
If intPos > 0 Then 
04.
... 
05.
End If
Gruß Dieter
Bitte warten ..
Mitglied: OxanaG
05.12.2012 um 11:14 Uhr
Zitat von 76109:
Hallo OxanaG!

Du musst in den Codezeilen 25-27 auch sicherstellen, dass das Zeichen "<" oder ">" im String vorhanden
ist, ansonsten bekommst Du als Ergebnis 0, was bei der Weiterverarbeitung zu Deinem Fehler führt (Position 0 gibt es nicht).

In etwa so:
01.
> intPos = InStr(strZusatzfeld1, "<") 
02.
>  
03.
> If intPos > 0 Then 
04.
> ... 
05.
> End If 
06.
> 
Gruß Dieter

Hallo did1954,

in dem Textfeld steht aber ein Wert mit "<" und ">".
der Inhalt sieht so aus: <Test> <A/BCDEFG-12345>

Der Code funktioniert ja auch, wenn ich die Zeile 21 durch diese Zeile ersetze:
01.
strZusatzfeld1 = "<Test>   <A/BCDEFG-12345>"
dann funktioniert es und ich bekomme per MsgBox folgendes ausgegeben:
1. Meldung: Test
2. Meldung: A/BCDEF-12345
Bitte warten ..
Mitglied: 76109
05.12.2012, aktualisiert um 11:20 Uhr
Hallo OxanaG!

Logisch, dass es mit der Testzeile funktioniert, aber
01.
strZusatzfeld1 = oDetailXDMR.getFieldContent("CONTENT") 
liefert Dir nicht das gewünsche Ergebnis, von daher auch überprüfen, ob ein Verarbeitungsfähiger Wert vom InStr zurückgegeben wird

Gruß Dieter
Bitte warten ..
Mitglied: OxanaG
05.12.2012 um 11:50 Uhr
Zitat von 76109:
Hallo OxanaG!

Logisch, dass es mit der Testzeile funktioniert, aber
01.
> strZusatzfeld1 = oDetailXDMR.getFieldContent("CONTENT")  
02.
> 
liefert Dir nicht das gewünsche Ergebnis, von daher auch überprüfen, ob ein Verarbeitungsfähiger Wert vom
InStr zurückgegeben wird

Gruß Dieter

Hallo didi1954,

was heisst das genau? also wie muss der Code dann aussehen?

Ich habe jetzt ein Textfeld aus einer internen tabelle ausgelesen.
Da wurde mir in der Zeile 10 folgender Fehler ausgegeben:
Laufzeitfehler 91: Objektvariable oder With-Blockvariable nicht festgelegt


01.
 
02.
  Dim strZusatzfeld1 As String 
03.
  Dim strTag1 As String 
04.
  Dim strTag2 As String 
05.
  Dim intLeft As Integer 
06.
  Dim intRight As Integer 
07.
 
08.
  'On Error GoTo ErrorHandler 
09.
 
10.
  strZusatzfeld1 = oDetail.getFieldContent("FELD_1_X30") 
11.
 
12.
  intLeft = InStr(1, strZusatzfeld1, "<") + 1 
13.
  intRight = InStr(intLeft, strZusatzfeld1, ">") 
14.
  strTag1 = Mid(strZusatzfeld1, intLeft, intRight - intLeft) 
15.
 
16.
  MsgBox (strTag1) 
17.
 
18.
  intLeft = InStr(intRight, strZusatzfeld1, "<") + 1 
19.
  intRight = InStr(intLeft, strZusatzfeld1, ">") 
20.
  strTag2 = Mid(strZusatzfeld1, intLeft, intRight - intLeft) 
21.
 
22.
  MsgBox (strTag2) 
23.
 
24.
Exit Sub 
25.
 
26.
ErrorHandler: 
27.
    Select Case Err.Number 
28.
         Case PsipentaErrNoSelectionSet 
29.
             ' Nichts selektiert 
30.
             Message = Err.Description 
31.
         Case Else 
32.
             ' sonstiger Fehler 
33.
             Message = "Error: " & Err.Number & " " & Err.Description 
34.
    End Select 
35.
End Sub
Bitte warten ..
Mitglied: SlainteMhath
05.12.2012 um 11:59 Uhr
Naja das liegt daran, das "oDetail" in deinem Code nicht deklariert wird - genauso wie's in der Fehlermeldung drin steht
Bitte warten ..
Mitglied: OxanaG
05.12.2012, aktualisiert um 12:50 Uhr
Zitat von SlainteMhath:
Naja das liegt daran, das "oDetail" in deinem Code nicht deklariert wird - genauso wie's in der Fehlermeldung drin
steht

Sorry, habe eine Zeile vergessen zu kopieren.
Des steht in Zeile 1: Dim oDetail As PsipentaDetail
oDetail ist also deklariert, sonst würde ein anderer Fehler kommen: Variable nicht definiert --> ist aber nicht der Fall.
Nur kommt dieser Fehler trotzdem:
Laufzeitfehler 91: Objektvariable oder With-Blockvariable nicht festgelegt

Kann mir da irgent jemand helfen?
Bitte warten ..
Mitglied: SlainteMhath
05.12.2012 um 13:20 Uhr
Jetzt kopier noch die Zeilen 15+16 aus deinem Ursprünglichen Script, dann ist die Objektvariable auch festgelegt.
Bitte warten ..
Mitglied: OxanaG
05.12.2012 um 13:23 Uhr
Zitat von SlainteMhath:
Jetzt kopier noch die Zeilen 15+16 aus deinem Ursprünglichen Script, dann ist die Objektvariable auch festgelegt.

das habe ich ja gemacht. das ist in meinem Script schon drinnen. Der Fehler kommt trotzdem.
Bitte warten ..
Ähnliche Inhalte
Microsoft
ERP System Navision
gelöst Frage von SalatinoMicrosoft3 Kommentare

Hallo, Ich hätte die Möglichkeit in einem Unternehmen meine Bachelorabeit zu schreiben. Das Unternehmen arbeitet momentan an einem ERP ...

Basic
VBA: Pfad nicht gefunden Laufzeitfehler 76
gelöst Frage von YannoschBasic2 Kommentare

Hi! Ich bekomme hier den Fehler Laufzeitfehler 76 "Pfad nicht gefunden" der Pfad "C:\" existiert aber. Woran kann das ...

Peripheriegeräte
Messdatenexport per "Buzzer" an ERP System
Frage von MadzylinderPeripheriegeräte8 Kommentare

Hallo zusammen, folgende Problematik. Wir haben in unserem Betrieb einen Messplatz für Rohre. An diesem ist ein Digitales Messgerät ...

Microsoft Office
Txt-file in excel öffnen (bereitstellung durch erp-system)
gelöst Frage von seppmairhubrMicrosoft Office15 Kommentare

Hallo, Servus und Guten Tach! Ich hab folgendes Problem, daher wende ich mal wieder an die Kollegen: TS 2012R2 ...

Neue Wissensbeiträge
Microsoft Office

Office 2010 Starter erneut auf einer frischen Windows-Version installieren

Tipp von Lochkartenstanzer vor 1 TagMicrosoft Office9 Kommentare

Moin, vor ein paar Tagen schlug bei mir ein Kunde auf, der sein Widnows 7 geschrottet und es inklusive ...

Datenbanken

Upgrade MongoDB 3.4 auf 3.6

Erfahrungsbericht von Frank vor 1 TagDatenbanken

Seit kurzem gibt es das 3.6 Update für die MongoDB: Sicherheit, das Sortieren, Aggregation und auch die Performance wurde ...

SAN, NAS, DAS

Backdoor Zugang und Upload-Bug in vielen Western Digital MyCloud Geräten

Information von Frank vor 1 TagSAN, NAS, DAS2 Kommentare

James Bercegay von der Firma Gulftech hat die Fehler an Western Digital gemeldet und das Unternehmen stellt bereits ein ...

Microsoft Office

Outlook 2016 - Beim Weiterleiten keine PDF Anhänge mehr - KB4011626 entfernen

Erfahrungsbericht von Deepsys vor 1 TagMicrosoft Office3 Kommentare

Wenn ihr feststellt das ihr beim Weiterleiten von E-Mails keine PDF Anhänge mehr versendent, dann dankt Microsoft. Diese tolle ...

Heiß diskutierte Inhalte
Netzwerke
NTFS-Berechtigung
Frage von Daoudi1973Netzwerke23 Kommentare

Hallo zusammen und frohes neues Jahr (Sorry, ich bin spät dran) Meine Frage: 1- Ich habe einen Ordner im ...

Drucker und Scanner
Gesucht DIN A3 Drucker
Frage von NebellichtDrucker und Scanner15 Kommentare

Hallo, ich möchte einen neuen DIN A3 Drucker kaufen. Um ab und zu, ca. 1 mal die Woche Farbausdrucke ...

iOS
Einladung vom iphone kalender
Frage von jensgebkeniOS15 Kommentare

Hallo Gemeinschaft, folgendes Problem - immer wenn ich von meinem Iphone einen Termin einztrage und diesem Termin Teilnehmer zuweise, ...

Windows Netzwerk
Drucker isolieren in Windows Domäne
gelöst Frage von lcer00Windows Netzwerk14 Kommentare

Hallo zusammen, habe eine Windows-AD (2012R2) in der es einen Druckerserver gibt. Mittlerweile verliere ich das Vertrauen in die ...