DOCVARIABLE in Worddokument setzen (OLE?)

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

DOCVARIABLE in Worddokument setzen (OLE?)

Beitrag von msfox (Specialist / 302 / 50 / 62 ) »
Ich habe ein Worddokument, welches mit DOCVARIABLEN arbeitet.
Diese sollen nun irgendwie via ABAP belegt werden.

Als Basis habe ich folgendes Dokument gefunden:
https://www.consolut.com/fileadmin/user ... FESDE6.PDF

Hier wird mit GET und SET PROPERTY gearbeitet, jedoch der Hintergrund und speziell für DOCVARIABLE nicht beschrieben.

Etwas Quellcode von einem Kollegen, der leider nicht mehr greifbar ist, gibt es schon

Code: Alles auswählen.

  CREATE OBJECT worddoc 'Word.APPLICATION'.
  GET PROPERTY OF worddoc 'Application' = wordapp.
  SET PROPERTY OF wordapp 'Visible' = 1.
  GET PROPERTY OF wordapp 'Documents' = documents.

  CALL METHOD OF documents 'Open'
    EXPORTING
      #01 = p_path. 
p_path = Pfad zum Word-Dokument

irgendwann später findet dann ein Suchen und Ersetzen von Texten im Word statt.

Das will ich nun so erweitern, dass man auch die DOCVARIABLEN belegen kann.

Weiß jemand, wie das geht?
Bzw. woher kommen z.B. die Texte 'Word.APPLICATION', 'Application'?

Laut Internet soll man ein DOCVARIABLE mit
ThisDocument.CustomDocumentProperties("myDocVariable").Value = "Hello World".
beschreiben können.

Aber wie bekomme ich dies in ABAP aufgerufen?

gesponsert
Stellenangebote auf ABAPforum.com schalten
kostenfrei für Ausbildungsberufe und Werksstudenten


Re: DOCVARIABLE in Worddokument setzen (OLE?)

Beitrag von msfox (Specialist / 302 / 50 / 62 ) »
Das mit den Setzen der DOCVARIABLEN habe ich hinbekommen.

Code: Alles auswählen.

* Variablen zum Word bearbeiten
  DATA:
    wordapp   TYPE ole2_object,
    worddoc   TYPE ole2_object,
    wordobj   TYPE ole2_object,
    word_dv   TYPE ole2_object,
    fields    TYPE ole2_object,
    documents TYPE ole2_object,
    document  TYPE ole2_object.

CREATE OBJECT worddoc 'Word.APPLICATION'.
  GET PROPERTY OF worddoc 'Application' = wordapp.
  SET PROPERTY OF wordapp 'Visible' = 1.
  GET PROPERTY OF wordapp 'Documents' = documents.

  CALL METHOD OF documents 'Open'
    EXPORTING
      #01 = p_path.  "file name

  GET PROPERTY OF wordapp 'ActiveDocument' = document.
  "ActiveDocument.Variables("myDocVariable").Value = "Hello World"
  CALL METHOD OF document 'Variables' = word_dv
              EXPORTING
                  #1 = 'myDocVariable'.
  SET PROPERTY OF word_dv 'value' = 'Hello World'.

  "ActiveDocument.Fields.Update
  GET PROPERTY OF document 'fields' = fields.
  CALL METHOD OF fields 'Update'.
Nun hab ich das nächste Problem:
Das Hauptdokument (Word-Datei) hat eine Referenz auf eine andere Word-Datei (Im Macro-Editor). Wenn ich mit CALL METHOD OF documents 'Open' das Word öffnen, so wird die Referenz nicht gefunden.
Bei Dokumente liegen ursprünglich im selben Verzeichnis.
Was passiert hier beim Öffnen?
Öffnet SAP hier nur Word oder wird die Datei irgendwo hin kopiert?
Wenn ich über Word beide Dateien öffne, wird die Referenz gefunden.

Seite 1 von 1

Vergleichbare Themen

1
Antw.
1498
Views
Worddokument aus BSP erzeugen
von Hotte » 25.01.2005 14:38 • Verfasst in Web Application Server
1
Antw.
1289
Views
Adresse in Worddokument einfügen
von aluecken » 03.04.2006 15:19 • Verfasst in ABAP® für Anfänger
0
Antw.
468
Views
Worddokument Speichern bei Serienbrieffunktion
von dragon » 27.05.2006 11:02 • Verfasst in Basis
2
Antw.
2443
Views
Einstellung im ALV setzen
von RiffRaff » 07.03.2005 16:50 • Verfasst in ABAP® Core
0
Antw.
4634
Views
Anwenderstatus setzen
von 82kolu1bma » 23.06.2016 09:22 • Verfasst in ABAP® für Anfänger

Über diesen Beitrag

msfox
Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

Newsletter Anmeldung

Keine Beiträge verpassen! Wöchentlich versenden wir lesenwerte Beiträge aus unserer Community.
Die letzte Ausgabe findest du hier.
Details zum Versandverfahren und zu Ihren Widerrufsmöglichkeiten findest du in unserer Datenschutzerklärung.