OLE - Ausführen einer Methode aus Module

Alles rund um die Sprache ABAP®: Funktionsbausteine, Listen, ALV
3 Beiträge Seite 1 von 1
3 Beiträge Seite 1 von 1

OLE - Ausführen einer Methode aus Module

Beitrag von msfox (ForumUser / 67 / 7 / 6 ) » 16. Okt 2019 08:21

Ich habe eine WordVorlage mit Macros - dotm-Datei. Diese wird wie folgt geöffnet:

Code: Alles auswählen.

  DATA document  TYPE ole2_object.
  DATA documents TYPE ole2_object.  
  DATA worddoc   TYPE ole2_object.
  DATA wordapp   TYPE ole2_object.
  DATA module1   TYPE ole2_object.

  CREATE OBJECT p_worddoc 'Word.APPLICATION'.
  GET PROPERTY OF worddoc 'Application' = wordapp. "NO FLUSH.
  SET PROPERTY OF wordapp 'Visible' = 1.
  GET PROPERTY OF wordapp 'Documents' = documents.
  CALL METHOD OF documents 'Add'
    EXPORTING
      #01 = p_path.

  GET PROPERTY OF wordapp 'ActiveDocument' = document.
In diesem Word gibt es verschiedene eigene Module mit Methoden. Hier soll nun folgende Methode ausgeführt werden:

Code: Alles auswählen.

Modul1.Document_mischen()
Wie kann ich das machen?

Folgendes klappt nicht:

Code: Alles auswählen.

GET PROPERTY OF document 'Modul1' = module1.
CALL METHOD OF module1 'Document_mischen'.


Re: OLE - Ausführen einer Methode aus Module

Beitrag von deejey (Specialist / 256 / 69 / 20 ) » 16. Okt 2019 09:45

Schon der Name klingt komisch, halb englisch, halb deutsch 😜 die gibts bestimmt garnicht wirklich

Re: OLE - Ausführen einer Methode aus Module

Beitrag von msfox (ForumUser / 67 / 7 / 6 ) » 16. Okt 2019 11:05

Der Name stammt nicht von mir. War auch nur zum Test....

Ich hab es gefunden...

Code: Alles auswählen.

call method of wordapp 'RUN' exporting #1 = 'Document_mischen'.
Document_mischen ist das Macro. Es ist egal in welchem Modul das liegt.
...ich bin (noch) nicht VBA-Entwickler, um hier die Zusammenhänge zu kennen.

Seite 1 von 1