Page 1 of 1

OLE2 und Word: Textmarken in Kopfzeile nicht befüllbar

PostPosted: Fri Jun 24, 2016 1:29 pm
by Kassandra2284
Hallo zusammen,
wir benutzen die OLE2-Schnittstelle um aus SAP heraus Wordvorlagen (Word 2013) zu befüllen. In den Word-Vorlagen haben wir Textmarken, an denen die SAP-Daten eingefügt werden. Das funktioniert super seit sehr vielen Jahren.
Leider funktioniert das nicht, wenn wir diese Textmarken in der Kopfzeile einfügen. Die Daten, die aus SAP geschickt werden, werden zwar ausgegeben, aber leider nicht an den vorgesehenen Textmarken.
Kann uns da jemand einen Tipp geben? Das kann doch nicht unmöglich sein. Da muss es doch irgendeine Sicherheitseinstellung im Word geben, die man ausschalten kann.
Vielen Dank und Gruß aus München
Jörg

Re: OLE2 und Word: Textmarken in Kopfzeile nicht befüllbar

PostPosted: Sun Jun 26, 2016 1:47 pm
by Tron
Moin.
Probiere bitte mal die Methoden:

Code: [Select all] [Expand/Collapse] [Download] (Untitled.txt)
  1. DEFINE Viewheader.
  2.   CALL METHOD OF gs_word 'ViewHeader'.
  3.  
  4. DEFINE CloseViewHeaderFooter.
  5. *** Kopffenster wieder schließen
  6.   CALL METHOD OF gs_word 'CloseViewHeaderFooter'.
  7.  
GeSHi ©


Also:
CALL METHOD OF gs_word 'ViewHeader'.

dann Veränderungen im Header ..

dann Header wieder Verlassen.
CALL METHOD OF gs_word 'CloseViewHeaderFooter'.

lg Jens

Re: OLE2 und Word: Textmarken in Kopfzeile nicht befüllbar

PostPosted: Mon Jun 27, 2016 1:01 pm
by Kassandra2284
Hallo Tron,
vielen Dank für deinen Vorschlag. Funktioniert aber leider bei uns nicht. Wir nutzen die word.application, da gibt es die Methode nicht:
Code: [Select all] [Expand/Collapse] [Download] (Untitled.txt)
  1.  
  2. *öffnen Word
  3.   create object h_word 'WORD.APPLICATION'.
  4.   SET PROPERTY OF h_word 'Visible' = '1'.
  5. *öffnen Dokument auf Grund einer Vorlage
  6.   call method of h_word 'Documents' = docs.
  7.   call method of docs 'add' = doc
  8.     EXPORTING
  9.       #1 = dot_path.
  10.   call method of h_word 'ActiveDocument' = o_activedoc.
  11.   call method of o_activedoc 'Activate'.
  12.   call method of h_word 'Selection' = h_select.
  13.  
  14. *Textmarke befüllen  
  15. call method of o_activedoc 'Bookmarks' = o_bookmarks
  16.     EXPORTING
  17.       #1 = bookmark.
  18.   call method of o_bookmarks 'Select' = o_bookmark.
  19.   call method of h_select 'TypeText'
  20.     EXPORTING
  21.       #1 = text.
  22.  
GeSHi ©

Hast du vielleicht noch eine Idee?
Gruß
Jörg

Re: OLE2 und Word: Textmarken in Kopfzeile nicht befüllbar

PostPosted: Mon Jun 27, 2016 3:17 pm
by Tron
Nun... ich denk mal das
Du unter
http://www.orafaq.com/forum/t/80301/
was passendes findest.
Muss nur auf ABAP angepasst werden.

lg Jens

Re: OLE2 und Word: Textmarken in Kopfzeile nicht befüllbar

PostPosted: Fri Jul 01, 2016 1:54 pm
by Kassandra2284
Hallo Jens,
vielen Dank. Das hat gepasst. Die Übersetzung in Abap lautet:

Code: [Select all] [Expand/Collapse] [Download] (Untitled.txt)
  1. ***** in die Kopfzeile springen
  2.   call method of h_word 'ActiveWindow' = hwindow.
  3.   call method of hwindow 'ActivePane' = hpane.
  4.   call method of hpane 'View' = hview.
  5.   set property of hview 'SeekView' = '9'.  "zur Kopfzeile springen
  6.  
  7.   perform fill_bookmark using 'Pernr' itab-pernr.
  8.   perform fill_bookmark using 'Name' itab-name.
  9.   perform datumwandel using pn-begda datumsfeld.
  10.   perform fill_bookmark using 'Begda' datumsfeld.
  11.   perform datumwandel using pn-endda datumsfeld.
  12.   perform fill_bookmark using 'Endda' datumsfeld.
  13.  
  14.   set property of hview 'SeekView' = '0'.  "wieder zurück
  15.  
GeSHi ©


Vielleicht hilft das auch jemand anderem, der vorbeikommt.
Gruß
Jörg