Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Library-Verweis nicht auf jeden PC vorha

Forumthread: Library-Verweis nicht auf jeden PC vorha

Library-Verweis nicht auf jeden PC vorha
19.11.2020 22:05:36
Curly
Guten Abend,
ich habe folgendes Problem, dass ich leider auch nach langer Online Recherche nicht lösen konnte.
Auf jedem PC , wo SAP installiert ist läuft alles ohne Probleme,
ist jedoch kein SAP installiert kommt es zu einem "Fehler beim Kompilieren"
Da natürlich der Verweis auf SAP GUI Scripting API nicht vorhanden ist.
Dim oSapGui As Object
' Extras -> Verweise ... -> Durchsuchen ...
' C:\Program Files (x86)\SAP\FrontEnd\SAPgui\sapfewse.ocx
Dim oApp As SAPFEWSELib.GuiApplication
Dim oConn As SAPFEWSELib.GuiConnection
Dim osession As SAPFEWSELib.GuiSession
' Ref auf SAPGUI
Set oSapGui = GetObject("SAPGUI")
Alle Versuche dann diesen Verweis zu löschen und das Modul "stillzulegen" haben leider keinen Erfolg gehabt.
Geht das überhaupt?
Vielen Dank und schönen Abend
Curly
Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Library-Verweis nicht auf jeden PC vorha
19.11.2020 22:16:03
mumpel
Hallo!
Nutze Late-Binding statt Early-Binding. Dann sollte das Problem behoben sein.
Gruß, René
AW: Library-Verweis nicht auf jeden PC vorha
19.11.2020 22:37:50
Curly
Hallo Rene,
tatsächlich habe ich Late-Binding oft bei meiner Suche gelesen, allerdings habe ich es nicht geschafft das auf den Verweis von SAP GUI Scripting API anzuwenden.
Da dieser Verweis auch extra in die Bibliothek hinzugefügt werden muss.
Gruß Curly
Anzeige
AW: Library-Verweis nicht auf jeden PC vorha
19.11.2020 22:57:43
mumpel
Dann warte mal bis morgen, bis sich unser Foren-SAP-Spezialist meldet.
AW: Library-Verweis nicht auf jeden PC vorha
20.11.2020 08:47:11
ralf_b
https://vba.programmingpedia.net/en/knowledge-base/19452461/vba-general-way-for-pulling-data-out-of-sap
Zitat: Early and Late binding
The provided script should work if copied directly into a VBA macro. It uses late binding, the line Set SapGuiAuto = GetObject("SAPGUI") defines the SapGuiAuto object.
If however you want to use early binding so that your VBA editor might show the properties and methods of the objects you are using, you need to add a reference to sapfewse.ocx in the SAP GUI installation folder.

Anzeige
AW: Library-Verweis nicht auf jeden PC vorha
20.11.2020 14:53:27
Curly
Vielen Dank.
Der Link war genau der richtige Hinweis, damit konnte ich mein Problem lösen.
Schönes Wochenende
Gruß Curly
gern, danke für die rückmeldung owt
20.11.2020 17:15:58
ralf_b
;
Anzeige

Infobox / Tutorial

Library-Verweis in Excel für SAP GUI Scripting richtig einrichten


Schritt-für-Schritt-Anleitung

  1. SAP GUI Scripting aktivieren: Stelle sicher, dass die SAP GUI Scripting-Option in den SAP GUI-Einstellungen aktiviert ist.

  2. Late Binding verwenden: Um den Fehler "sapfewse.ocx not found" zu vermeiden, kannst du Late Binding verwenden. Das bedeutet, dass du den Verweis auf die SAP GUI Scripting API nicht in der Bibliothek hinzufügen musst. Beispiel:

    Dim oSapGui As Object
    Set oSapGui = GetObject("SAPGUI")
  3. VBA-Code anpassen: Ersetze die Referenzen zu SAPFEWSELib.GuiApplication, SAPFEWSELib.GuiConnection und SAPFEWSELib.GuiSession durch die entsprechenden Objekte. Dein Code könnte dann so aussehen:

    Dim oApp As Object
    Dim oConn As Object
    Dim oSession As Object
  4. Fehlerüberprüfung: Füge Fehlerbehandlungsroutinen hinzu, um sicherzustellen, dass dein VBA-Skript nicht abstürzt, wenn SAP nicht installiert ist.


Häufige Fehler und Lösungen

  • Fehler beim Kompilieren: Wenn du die Fehlermeldung "Fehler beim Kompilieren" erhältst, bedeutet dies, dass der Verweis auf die SAP GUI Scripting API nicht vorhanden ist. Dies geschieht häufig, wenn SAP nicht installiert ist.

    Lösung: Verwende Late Binding, um diesen Fehler zu vermeiden.

  • sapfewse.ocx not found: Wenn die Datei sapfewse.ocx nicht gefunden wird, überprüfe den Installationspfad von SAP und stelle sicher, dass die Datei vorhanden ist.


Alternative Methoden

Falls du nicht auf Late Binding umsteigen kannst, gibt es folgende Alternativen:

  • SAP GUI Scripting API herunterladen: Stelle sicher, dass die SAP GUI Scripting API installiert ist. Dies kann durch den Download der entsprechenden SAP GUI-Version erfolgen.

  • SAP GUI Scripting API in Excel hinzufügen: Gehe zu den Verweisen in deinem VBA-Editor und füge die SAP GUI Scripting API manuell hinzu, wenn SAP auf deinem PC installiert ist.


Praktische Beispiele

  • Beispiel für Late Binding:

    Sub SAPAutomation()
       Dim oSapGui As Object
       Set oSapGui = GetObject("SAPGUI")
       ' Weitere Automatisierungsschritte
    End Sub
  • Beispiel für Early Binding (wenn SAP installiert ist):

    Sub SAPAutomation()
       Dim oApp As SAPFEWSELib.GuiApplication
       Dim oConn As SAPFEWSELib.GuiConnection
       Dim oSession As SAPFEWSELib.GuiSession
       Set oApp = GetObject("SAPGUI")
       ' Weitere Automatisierungsschritte
    End Sub

Tipps für Profis

  • Verwendung von Set sapguiauto = GetObject("sapgui"): Dies ist eine gängige Methode, um auf die SAP GUI zuzugreifen. Achte darauf, dass du dies in Kombination mit Late Binding verwendest, um Komplikationen zu vermeiden.

  • Optimierung deiner Skripte: Verwende die SAP GUI Scripting API effizient, indem du die Skripte modular aufbaust und die häufigsten Funktionen in separate Subroutinen auslagerst.


FAQ: Häufige Fragen

1. Was ist der Unterschied zwischen Early Binding und Late Binding? Early Binding erfordert einen Verweis auf die Bibliothek im VBA-Editor, während Late Binding dies nicht tut und flexibler ist, da es keine spezifischen Bibliotheksreferenzen benötigt.

2. Wie kann ich sicherstellen, dass mein VBA-Skript auch ohne SAP funktioniert? Verwende Late Binding und implementiere Fehlerbehandlungsroutinen, um sicherzustellen, dass das Skript nicht abstürzt, wenn SAP nicht installiert ist.

3. Wo finde ich die Datei sapfewse.ocx? Die Datei sapfewse.ocx befindet sich normalerweise im Installationsverzeichnis von SAP unter C:\Program Files (x86)\SAP\FrontEnd\SAPgui\.

4. Kann ich die SAP GUI Scripting API auch für Excel verwenden? Ja, die SAP GUI Scripting API kann in Excel VBA verwendet werden, um SAP-Prozesse zu automatisieren.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige