[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