Hallo zusammen.
Ich bin erst seit ein paar Tagen in die Welt der Macros eingetaucht un kenne mich nocht nicht wirklich aus.
Ich habe mehrere Word 2016 Dokumente, die ich neu formatieren möchte.
Jedes Dokument ist exakt gleich aufgebaut:
-
Textzeile (Titel)
-
Bild
-
Textzeile (1. Untertitel)
-
Mehrere Textzeilen mit Umbrüchen
-
Textzeile (2. Untertitel)
-
Mehrere Textzeilen mit Umbrüchen und unterschiedlich formatiert
Hier ein Bild mit der Dokument Struktur.
Was ich bis jetzt gemacht habe (und fuktioniert)
Weil die Bilder verzogen und zu gross sind, setzte ich sie ins gleiche Seitenverhältniss und verkleinere sie auf 50%
1 2 3 4 5 6 7 8 9 | Dim i As Long
With ActiveDocument
For i = 1 To .InlineShapes.Count
With .InlineShapes(i)
.ScaleHeight = 50
.ScaleWidth = 50
End With
Next i
End With
|
Danach suche ich nach den Text-Zeilen "Slide notes" und ersetzte sie durch den Text "Speaker text:"
1 2 3 4 5 6 7 8 | With Selection.Find
.ClearFormatting
.Text = "Slide notes"
.Replacement.ClearFormatting
.Replacement.Text = "Speaker text:"
.Execute Replace:=wdReplaceAll, Forward:= True , _
Wrap:=wdFindContinue
End With
|
Und auch den Text "Text Captions" ersetze ich auf die gleiche weise wie oben, durch "Screen text:"
1 2 3 4 5 6 7 | .ClearFormatting
.Text = "Text Captions"
.Replacement.ClearFormatting
.Replacement.Text = "Screen text:"
.Execute Replace:=wdReplaceAll, Forward:= True , _
Wrap:=wdFindContinue
End With
|
Und jetzt komme ich einfach nicht weiter
Als nächstes soll auf jeder Seite, der Text zwischen "Speaker text" und "Screen text" in eine Tabelle mit zwei Spalten abgefüllt werden.
-
Idealerweise haben die beiden Spalten eine aufteilung von 2/3 zu 1/3.
-
Bei jedem Zeilenumbruch, soll eine neue Tabellenzeile eingefügt werden
-
Die Tabelle soll mit dem letzten Eintrag enden und erst auf der nächsten Seite wieder ertellt werden
Zum besseren Verständnis, habe ich davon ein Screenshot erstellt.
|