marcoborn
Goto Top

Word: Formatierung auslesen

Hallo Forum,
folgende Problem: Ich habe in Word einen Absatz, der mit z.B. dem Format "Aufzählung1" formatiert ist. Dieses kann ich z.B. für den 5. Absatz durch folgenden Befehl auslesen.
Application.ActiveDocument.ListParagraphs(5).Style.NameLocal

Durch die Nutzer werden aber z.T. die vorhandenen Formate verändert. So werden entweder die Zeicheneinstellungen (Fett, Schriftgröße und -farbe etc.) oder Absatzeinstellungen (Einzüge, Nummerierungen etc.) angepasst. Als Ergebnis wird in der Liste der Formatvorlagen z.B. folgendes angezeigt: "Aufzählung1 + Links: 1,5 cm, Erste Zeile: 0 cm"
Lasse ich mir das Absatzformat über o.g. Befehl ausgeben, erscheint aber weiterhin "Aufzählung1".

Wie kann ich die durch Word selbständig erzeugten Formatvarianten per VBA auslesen?

Vielen Dank im voraus,
M. Born

Content-ID: 368560

Url: https://administrator.de/contentid/368560

Ausgedruckt am: 21.11.2024 um 21:11 Uhr

colinardo
colinardo 19.03.2018, aktualisiert am 20.03.2018 um 09:55:02 Uhr
Goto Top
Servus.
Lasse ich mir das Absatzformat über o.g. Befehl ausgeben, erscheint aber weiterhin "Aufzählung1".
das ist auch richtig so.
Wie kann ich die durch Word selbständig erzeugten Formatvarianten per VBA auslesen?
Gar nicht.
Da wirst du wohl oder übel die Unterschiede in der Objekt-Eigenschaft ParagraphFormat der Zeichen Absatzes vergleichen müssen.

Grüße Uwe
MarcoBorn
MarcoBorn 20.03.2018 um 09:40:05 Uhr
Goto Top
Vielen Dank Uwe. Egal welche der Style-Eigenschaften ich auslese: ich erhalte immer nur das grundlegende Format zurück und nie die manuell durch die User hinzugefügten Änderungen. Scheinbar muss ich über alle Zeichen des Absatzes iterieren, um diese herauszufinden. Sehr ärgerlich und aufwändig, aber was besseres fällt mir leider nicht ein.
colinardo
colinardo 20.03.2018 aktualisiert um 10:43:03 Uhr
Goto Top
Zitat von @MarcoBorn:

Vielen Dank Uwe. Egal welche der Style-Eigenschaften ich auslese: ich erhalte immer nur das grundlegende Format zurück und nie die manuell durch die User hinzugefügten Änderungen. Scheinbar muss ich über alle Zeichen des Absatzes iterieren, um diese herauszufinden. Sehr ärgerlich und aufwändig, aber was besseres fällt mir leider nicht ein.
Ja, sorry da hatte ich mich verschrieben, richtig du musst die Zeichen/Wörter durchgehen oder du führst gleich die Paragraph.Reset Methode aus und wendest die Formatvorlage erneut auf den Absatz an wenn wenn du eine konsistente Formatierung brauchst, damit werden nämlich alle manuellen Änderungen die durch den User hinzu gefügt wurden (außer der Vorlage selbst) entfernt.
MarcoBorn
MarcoBorn 20.03.2018 um 11:10:59 Uhr
Goto Top
Nochmals danke für die Klarstellung.