[Tustep-Liste] Lösung für Index-verborum-Problem
Oliver. C. Gasperlin
gasperlin at gasperlin.de
Fr Sep 7 19:50:23 CEST 2007
Liebe Listenteilnehmer,
für alle, die wie ich vielleicht einmal vor dem Problem stehen dynamisch
erzeugte Seiten- und Zeilenumbrüche einer .rtf-Datei nach Tustep retten
zu müssen, gebe ich im Folgenden den Code zweier dafür geschriebener
WordVBA(Visual Basic for Applications)-Makros wieder.
Das erste fügt in den Fliesstext eines Word-Dokuments an den Beginn
jeder Zeile (beginnend mit der 2. Zeile) sowie an den Beginn jeder Seite
je eine eindeutige Markierung ein, welche mit Tustep-Mitteln wieder in
die entsprechenden Umbrüche umgesetzt werden kann.
Das zweite Makro löscht diese Markierungen wieder restlos aus dem
Word-Dokument heraus.
Dadurch kann man nach dem Import eine Tustep-Datei herstellen, deren
Umbruch genau dem des ursprünglichen .rtf-Dokuments entspricht.
Ein Anwendungsfall ist die Möglichkeit der Herstellung von Wortindizes
via Tustep, welche von Nicht-Tustepianern (in meinem Fall: den Editoren)
zusammen mit ihren Word-Dateien zur Arbeit benutzt werden können.
Den Quellcode kann man sich in ein Makromodul des VBA-Editors kopiern.
Den Editor erreicht man aus WinWord mit der Tastenkombination ALT + F11
VB-Könner werden die sicherlich umständliche Ausführung entschuldigen.
Aber immerhin: es funktioniert.
Makro1:
Sub Referenzen()
'
' Das Makro fügt eindeutige Markierungen für Zeilen- und Seitenumbrüche
' in ein Word-Dokument ein.
'
' Seitenumbrüche:
Selection.EndKey Unit:=wdStory
Application.Browser.Target = wdBrowsePage
Application.Browser.Next
Do
Selection.TypeText Text:="&&&"
Application.Browser.Target = wdBrowsePage
Application.Browser.Previous
Loop Until ActiveDocument.Range.Start = Selection.Range.Start
' Zeilenumbrüche:
Selection.HomeKey Unit:=wdStory
Do While Not ActiveDocument.Range.End - 1 = Selection.Range.End
Selection.MoveDown Unit:=wdLine, Count:=1
Selection.HomeKey Unit:=wdLine
Selection.TypeText Text:="$$$"
Loop
End Sub
Makro2:
Sub ReferenzenLöschen()
'
' Das Makro löscht die mit dem Makro Referenzen erzeugten Markierungen
' wieder aus dem Text.
'
Selection.HomeKey Unit:=wdStory
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = "$$$"
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
Selection.HomeKey Unit:=wdStory
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = "&&&"
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
End Sub
Mit besten Grüßen in die Runde
Oliver Gasperlin
-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname : gasperlin.vcf
Dateityp : text/x-vcard
Dateigröße : 153 bytes
Beschreibung: nicht verfügbar
URL : <https://lists.itug.de/pipermail/tustep-liste/attachments/20070907/0be74675/attachment.vcf>
Mehr Informationen über die Mailingliste Tustep-Liste