WORD OLE - Platzhalter ersetzen

Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

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

WORD OLE - Platzhalter ersetzen

Beitrag von Kerstin (Specialist / 203 / 2 / 0 ) »
Hallo,
ich erstelle WORD-Dateien aus ABAP heraus. Ich lese eine WORD-Vorlage mit Platzhaltern ein und ersetze diese. Solange der ABAP für den Platzhalter einen Wert ungleich Initial liefert, funktioniert das gut. Sobald das Feld aber keinen Wert enthält, erscheint in der neuen WORD-Datei der Name des Platzhalters. Ich möchte aber, dass der Platzhalter durch Leerzeichen ersetzt wird. Das Übergabefeld mit Leerzeichen zu füllen, was ja bei char-Feldern sowieso dem Initial entspricht, bringt auch nichts. Übergehe ich in diesem Fall die Ausgabe, bleibt der Name des Platzhalters ebenfalls stehen.

WORD-Vorlage: .dotx
Tätigkeit/Kurzzeichen: %%taet_bish

Code: Alles auswählen.

  
PERFORM fill_daten USING '%%taet_bish'  ' '  taet_bish.
...
FORM fill_daten  USING p_%feld p_look p_wert.
  CALL METHOD OF
      h_word
      'EditFind'
    EXPORTING
      #1         = p_%feld.
  CALL METHOD OF
      h_word
      'Insert'
    EXPORTING
      #1       = p_wert.
ENDFORM.                    " FILL_DATEN
Kann mir jemand weiterhelfen?

Gruß
Kerstin

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


Re: WORD OLE - Platzhalter ersetzen

Beitrag von ewx (Top Expert / 4844 / 311 / 640 ) »
Probier mal einen richtigen STRING zu übergeben, also nicht den Text in einfachen Hochkomma ' ', sondern mit Backticks ` `.

Oder mal mit Textmarke versuchen?

Code: Alles auswählen.

// Name der Textmarke setzen
      vBookmarkName := 'ErweiterungsText_2';

      // Prüfen ob die Textmarke vorhanden
      if vWordInstanz.Bookmarks.Exists(vBookmarkName) then
        begin
          vBookmarkRange := vWordInstanz.Bookmarks.Item(vBookmarkName).Range;
          // Text bei Textmarke einfügen
          vBookmarkRange.InsertAfter(Memo_Lager_1.Text);
        end

Re: WORD OLE - Platzhalter ersetzen

Beitrag von Kerstin (Specialist / 203 / 2 / 0 ) »
Hallo Enno,
vielen Dank für Deine Hilfe.
Der String hat nicht funktioniert und bei Deiner 2. Idee fehlten mir auf die Schnelle die entsprechenden Methoden, um den Code im ABAP umzusetzen.
Ich habe aber trotzdem eine Lösung gefunden.
Ich dachte mir, ich gebe statt des Leerzeichens oder Strings ein anderes nicht sichtbares Zeichen aus , einen Tab :

Code: Alles auswählen.

constants tab value %_horizontal_tab
das funktioniert.

Viele Grüße
Kerstin

Re: WORD OLE - Platzhalter ersetzen

Beitrag von ewx (Top Expert / 4844 / 311 / 640 ) »
Auch nicht schlecht... ;)

Re: WORD OLE - Platzhalter ersetzen

Beitrag von msfox (Specialist / 364 / 56 / 74 ) »
Push.
Ich habe ähnliches Problem, jedoch klappt die Lösung von Kerstin nicht.
An ein WordDokument soll ein Leerzeichen übergeben werden.

space oder ' ' oder " " funktioniert nicht. Im Word kommt nix an.
cl_abap_conv_in_ce=>uccp( '0020' ) wäre wieder ein Leerzeichen.
cl_abap_conv_in_ce=>uccp( '3000' ) ist auch ein Leerzeichen, jedoch wird dies im Word als Sonderzeichen erkannt. Auf den ersten Blick sieht man es nicht, nur wenn man die Formatierungszeichen sich anzeigen lässt.

Noch jemand eine Idee, wie ich ein reines Leerzeichen via OLE an Word übergeben kann?

Danke

Re: WORD OLE - Platzhalter ersetzen

Beitrag von a-dead-trousers (Top Expert / 4395 / 223 / 1182 ) »
Schon mit ` ` versucht?
Alternativ fiele mir noch ein "geschütztes Leerzeichen" (U+00A0) ein.
Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.

ECC: 6.18
Basis: 7.50

Re: WORD OLE - Platzhalter ersetzen

Beitrag von deejey (Specialist / 422 / 129 / 45 ) »
"Nicht sichtbare Zeichen" können möglicherweise beim Druck Probleme bereiten, ich meine mich zu erinnern, dass hin und wieder stattdessen # ausgegeben wurde

Re: WORD OLE - Platzhalter ersetzen

Beitrag von a-dead-trousers (Top Expert / 4395 / 223 / 1182 ) »
deejey hat geschrieben:
23.10.2019 13:41
"Nicht sichtbare Zeichen" können möglicherweise beim Druck Probleme bereiten, ich meine mich zu erinnern, dass hin und wieder stattdessen # ausgegeben wurde
Da es in Richtung Word geschickt werden soll, glaube ich nicht dass das zum Problem werden könnte. Bei SapScript/Smartforms würde ich dir hingegen recht geben.
Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.

ECC: 6.18
Basis: 7.50

Re: WORD OLE - Platzhalter ersetzen

Beitrag von msfox (Specialist / 364 / 56 / 74 ) »
a-dead-trousers hat geschrieben:
23.10.2019 13:33
Schon mit ` ` versucht?
Alternativ fiele mir noch ein "geschütztes Leerzeichen" (U+00A0) ein.
Ich habe es jetzt mit U+200B (Breitenloses Leerzeichen ) umgesetzt. Scheint für's erst zu funktionieren.
Danke....

Jedenfalls weiß ich jetzt, wenn mir mal wieder jemand sagt, er möchte ein Leerzeichen, dann frag ich "welches?".

Seite 1 von 1

Vergleichbare Themen

1
Antw.
2775
Views
Platzhalter im SAP
von Raphael » 20.04.2005 10:50 • Verfasst in SAP - Allgemeines
2
Antw.
2720
Views
Platzhalter bei Berechtigungen
von Steven » 12.07.2005 16:52 • Verfasst in SAP - Allgemeines
6
Antw.
682
Views
Dynamischer Platzhalter im Select
von kaim77 » 07.09.2022 17:42 • Verfasst in ABAP® Core
4
Antw.
27410
Views
mögliche Platzhalter (Joker, Asterix)?
von Andrea F. » 19.01.2006 16:18 • Verfasst in SAP - Allgemeines
4
Antw.
1904
Views
Berechtigungen BW (Variablen/ Platzhalter für Cubes?)
von SteffiSteffi » 07.02.2007 18:28 • Verfasst in ABAP® für Anfänger

Über diesen Beitrag


Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

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.

Unbeantwortete Forenbeiträge

Daten an Tabelle binden
Gestern von Bright4.5 1 / 510
aRFC im OO-Kontext
vor 4 Wochen von ralf.wenzel 1 / 2145
Hilfe bei SWEC/SWE2
letzen Monat von retsch 1 / 8741