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-Key: 368560

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

Printed on: April 24, 2024 at 20:04 o'clock

Member: colinardo
colinardo Mar 19, 2018, updated at Mar 20, 2018 at 08:55:02 (UTC)
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
Member: MarcoBorn
MarcoBorn Mar 20, 2018 at 08:40:05 (UTC)
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.
Member: colinardo
colinardo Mar 20, 2018 updated at 09:43:03 (UTC)
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.
Member: MarcoBorn
MarcoBorn Mar 20, 2018 at 10:10:59 (UTC)
Goto Top
Nochmals danke für die Klarstellung.