Formate aus mehreren Worddokumenten entfernen und ersetzen

16/05/2014 - 16:09 von I.Burk | Report spam
Hallo zusammen,

ich suche eine Möglichkeit, Absatzformate aufzulisten und sie durch andere zu ersetzen. Prinzipiell wàre es also eine Mappingtabelle, die alte Formatvorlagen in neue überführt und den Rest der Formatvorlagen löscht.

Da es einige Dokumente sind, die teilweise abweichende Formatierungen haben, wàre es eine Idee, eine Art Mappingtabelle (aus excel, word oder Textfile) zu haben oder zu generieren, anhand der dann die Formate ersetzt werden.

Die Formatierung selbst (Schriftart, -größe, usw) ist hier nicht weiter interessant, da ich in einem weiteren Schritt den benannten Formatvorlagen die richtige Formatierung zuweise.

Eine andere Idee wàre, eine Art Array zu haben oder zu erstellen, das die vorliegenden Formate enthàlt, bestimmten benannten Formatvorlagen die neu geltenden FV zuweist und den Rest mit einer Standardformatierung überschreibt.

Ob diese Prozeduren auch für Zeichenformate durchführbar sind?

Wie kann ich am besten vorgehen? Welche Lösungsmöglichkeiten gibt es?
Leider kenne ich mich mit VBA überhaupt nicht aus ...

Vielen Dank für Hinweise!
 

Lesen sie die antworten

#1 ram
16/05/2014 - 18:39 | Warnen spam
"I.Burk" writes:
Wie kann ich am besten vorgehen? Welche Lösungsmöglichkeiten gibt es?



Die folgende VBA-Anweisungsfolge soll die Absatzvorlage
"Ueberschrift 1" überall im Dokument durch "Ueberschrift 2"
ersetzen. Um sie für Deine Bedürfnisse anzupassen, benötigst
Du allerdings noch VBA-Grundkenntnisse, wie sie in jedem
VBA-Buch oder -Kurs behandelt werden.

Selection.WholeStory
Selection.Find.ClearFormatting
On Error GoTo Over
Selection.Find.style = ActiveDocument.Styles( "Ueberschrift 1" )
Selection.Find.Replacement.ClearFormatting
Selection.Find.Replacement.style = ActiveDocument.Styles( "Ueberschrift 2" )
With Selection.Find
.text = ""
.Replacement.text = ""
.Forward = True
.Wrap = wdFindContinue
.Format = True
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace := wdReplaceAll
Over:

Mit »Documents.Open« kannst Du auch automatisch Dokumente
öffnen und mit »ActiveDocument.SaveAs« das aktuelle Dokument
speichern, um dies automatische für mehrere Word-Dateien zu
erledigen.

Ähnliche fragen