Desctop Office Integration / Word / Kopfzeile

ABAP, Java, BSP, etc.
3 Beiträge • Seite 1 von 1
3 Beiträge Seite 1 von 1

Desctop Office Integration / Word / Kopfzeile

Beitrag von mikzso (ForumUser / 4 / 0 / 0 ) »
Hallo,

ich habe ein Worddokument aus dem Business Dokument Service ?Inplace? erzeugt und möchte über OLE/2 Befehle das Dokument formatieren.

Das Einfügen eines Textes, Leerzeile oder von Formatanweisungen war nach einigen Recherchen und Tests kein Problem.

Nun möchte ich eine Kopfzeile offnen, Text ergänzen und die Kopfzeile schließen.

Hier mein Coding:

*** Ermittlung des Allg. Handle für OLE/2 Funktionsaufrufe
word_doc->get_general_handle( ).
**************************************************************
METHOD get_general_handle .

DATA:
l_error LIKE LINE OF errors.

CHECK NOT doc IS INITIAL.
IF handle IS INITIAL.
* Handle des aktiven Dokuments
CALL METHOD doc->get_document_handle
EXPORTING
no_flush = abap_true
IMPORTING
error = l_error
handle = handle.
APPEND l_error TO errors.
l_error->raise_message( 'E' ).
ENDIF.

active_document = handle-obj.
* Handle der Applikation
GET PROPERTY OF active_document 'Application' = application .
CHECK sy-subrc = 0.
* Handle von "Selection"
GET PROPERTY OF application 'Selection' = selection.
CHECK sy-subrc = 0.
*
ENDMETHOD.
**************************************************************
*** Kopfzeile
word_doc->set_header_line( ).

**************************************************************
* VB-Befehl zum Öffnen Kopfzeile / Einfügen Text / Schließen Kopfzeile
*ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageHeader
*Selection.TypeText Text:="abc"
*ActiveWindow.ActivePane.View.SeekView = wdSeekMainDocument
**************************************************************

* Handle der Activ Windows
GET PROPERTY OF application 'ActiveWindow' = active_window.
CHECK sy-subrc = 0.
* Handle der Activ Pane
GET PROPERTY OF active_window 'Activepane' = active_pane.
CHECK sy-subrc = 0.
* Handle der View
GET PROPERTY OF active_pane 'View' = view.
CHECK sy-subrc = 0.
**************************************************************
1. Lösungsansatz:
* Kopffenster öffnen
CALL METHOD OF active_document 'ViewHeader'.

* Text einfügen
CALL METHOD OF selection 'TypeText'
EXPORTING
#1 = 'ABC'.

* Kopffenster wieder schließen
CALL METHOD OF active_document 'CloseViewHeaderFooter'.

2. Lösungsansatz:
* Kopffenster öffnen
CALL METHOD OF view 'ViewHeader'.

* Text einfügen
CALL METHOD OF selection 'TypeText'
EXPORTING
#1 = 'ABC'.

* Kopffenster wieder schließen
CALL METHOD OF view 'CloseViewHeaderFooter'.

3. Lösungsansatz:
* Kopffenster öffnen
SET PROPERTY OF view 'SeekView' = 'CurrentPageHeader'.

* Text einfügen
CALL METHOD OF selection 'TypeText'
EXPORTING
#1 = 'ABC'.

* Kopffenster wieder schließen
SET PROPERTY OF view 'SeekView' = 'CloseViewHeaderFooter'.

**************************************************************
Keiner der drei Lösungsansätze funktioniert. Das entsprechende Handle ist kein Problem, das ist vorhanden. Nur der richtige Befehl oder Befehlsabfolge fehlt.

Wer kann mir hier weiterhelfen?

Gruß Mike

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


Beitrag von Arno Simon (ForumUser / 84 / 0 / 1 ) »
Hallo Mike,

sorry, ich kann aus Zeitgründen nur sporadisch hier ins Forum schauen und sehe Deine Anfrage - welche Du im übrigen in 3 verschiedenen Forumsbereichen gepostet hast :( - daher erst jetzt.

Dein Problem kann ich derzeit nicht ausprobieren, vermute aber mal nach Durchsicht Deines Codes folgendes:

Handles sind, wie Du auch sagst, zwar in ausreichender Menge, aber IMHO nicht in aktueller Ausprägung vorhanden. Will heißen: Du aktivierst durch öffnen des Kopffensters einen neuen Arbeitsbereich und versuchst anschließend über die Methode "TypeText" des Objekthandles "selection" einen Text hineinzuschreiben.

Das Objekthandle "selection" bezieht sich jedoch auf den Bereich von Word der zum Zeitpunkt der Instanzierung des Handles aktiv war - dieser ist im übrigen in einer eigenen Methode gekapselt für die ich nirgends einen entsprechenden Aufruf sehen kann (ist dieses Handle vielleicht doch noch initial?).

Da sich das Handle des Selection-Objekts auf einen derzeit nicht aktiven Bereich von Word bezieht (und IMHO aktuell in Deinem Code wirklich Initial sein dürfte, was an sich schon für einen Fehler sorgen sollte!) dürfte Word die aktuell gesendeten Daten nicht verarbeiten, da sich das angewählte Objekt nicht im aktuellen Programmfokus von Word befindet.

Aber wahrscheinlich hast Du Dein Problem mittlerweile eh gelöst, da die Anfrage ja doch schon einige Tage alt ist....

vG

Arno

PS Wenn die Antwort zu verworren war und das Problem noch besteht, kann ich gerne versuchen das ganze etwas näher auszuführen. Ist das Problem bereits gelöst --> Auch eine Selbstbeantwortung von Beiträgen trägt zum Mehrwert des Forums für alle bei ;)

DOI

Beitrag von mikzso (ForumUser / 4 / 0 / 0 ) »
Hallo Arno,

Ich habe lange Zeit nicht nach meinen Meldungen geschaut, da ich die Hoffnung schon aufgegeben hatte.
Leider habe ich das kleine Problem noch nicht lösen können. Ich hatte mich bei der Programmierung auf eine bestimmte Quelle im Internet gestützt und hier funktioniert die Kopfzeile.

Quelle: SAP Developer Network
"An Easy Reference for OLE Automation"

Mit fehlt auch das nötige Hintergrundwissen im Bereich OLE/2.

Kannst du mir genauer beschreiben, was ich falsch mache?

Gruß Mike

Seite 1 von 1

Vergleichbare Themen

0
Antw.
1188
Views
Desctop Office Integration / Wordanbindung /Kopfzeile
von mikzso » 19.09.2006 15:15 • Verfasst in SAP - Allgemeines
0
Antw.
1076
Views
Desctop Office Intrgration / Wordanbindung / Kopfzeile
von mikzso » 19.09.2006 14:56 • Verfasst in ABAP Objects®
0
Antw.
1057
Views
Office Integration ?
von Patrick2301 » 28.01.2008 11:31 • Verfasst in ABAP® Core
4
Antw.
3168
Views
Office Integration in SAP
von neuer Gast » 24.01.2006 11:40 • Verfasst in SAP - Allgemeines
0
Antw.
1315
Views
WebGui und Office Integration
von gazzle » 12.02.2010 15:45 • Verfasst in ABAP® für Anfänger

Über diesen Beitrag


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

Aktuelle Forenbeiträge

Daten an Tabelle binden
vor 12 Stunden von Bright4.5 3 / 1485
Regex in where
vor 14 Stunden von tar 6 / 158

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.

Aktuelle Forenbeiträge

Daten an Tabelle binden
vor 12 Stunden von Bright4.5 3 / 1485
Regex in where
vor 14 Stunden von tar 6 / 158

Unbeantwortete Forenbeiträge

aRFC im OO-Kontext
vor 5 Wochen von ralf.wenzel 1 / 3261
Hilfe bei SWEC/SWE2
September 2024 von retsch 1 / 9821