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 / 4784 / 294 / 628 ) »
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 / 4784 / 294 / 628 ) »
Auch nicht schlecht... ;)

Re: WORD OLE - Platzhalter ersetzen

Beitrag von msfox (Specialist / 302 / 50 / 62 ) »
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 / 4271 / 213 / 1140 ) »
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 / 418 / 128 / 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 / 4271 / 213 / 1140 ) »
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 / 302 / 50 / 62 ) »
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.
2635
Views
Platzhalter im SAP
von Raphael » 20.04.2005 10:50 • Verfasst in SAP - Allgemeines
2
Antw.
2610
Views
Platzhalter bei Berechtigungen
von Steven » 12.07.2005 16:52 • Verfasst in SAP - Allgemeines
6
Antw.
467
Views
Dynamischer Platzhalter im Select
von kaim77 » 07.09.2022 17:42 • Verfasst in ABAP® Core
4
Antw.
26938
Views
mögliche Platzhalter (Joker, Asterix)?
von Andrea F. » 19.01.2006 16:18 • Verfasst in SAP - Allgemeines
4
Antw.
1810
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

Aktuelle Forenbeiträge

Zwischensumme Adobe Forms
vor 3 Tagen von Lucyalison 1 / 64
Interne Tabelle
vor 5 Tagen von black_adept 2 / 133
MaLo-Checker in ABAP
vor einer Woche von A6272 6 / 254

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

Zwischensumme Adobe Forms
vor 3 Tagen von Lucyalison 1 / 64
Interne Tabelle
vor 5 Tagen von black_adept 2 / 133
MaLo-Checker in ABAP
vor einer Woche von A6272 6 / 254

Unbeantwortete Forenbeiträge

Zwischensumme Adobe Forms
vor 3 Tagen von Lucyalison 1 / 64
Group Items auf einer Filterbar
vor einer Woche von Bright4.5 1 / 107
tRFC Transaktionen SM58
vor 4 Wochen von A6272 1 / 140