Syntax-Hervorhebung in Word

Hallo Experten,
für eine Quelltextdokumentation muss ich MS Word (>= 2002) verwenden.

Nach Fertigstellung des Dokuments würde ich gerne eine Funktion (oder Makro oder was auch immer) nutzen, die eine TXT-Datei mit allen Schlüsselwörtern auslesen kann, dann im Word Dokument nach diesen Wörtern sucht und sie „Fett“ setzt.

Gibt es so etwas?

Danke und Gruß

der Janus

Hi Janus,

mit kleinen Umwegen klappt es z.B. mit Context http://www.context.cx/.
Den Quellcode in Context einfügen, Syntaxhighlighting anpassen und als RTF-File Exportieren. Aus dem RTF-Dokument den Quelltext wieder in’s Word-Doc kopieren.

CU Fr@nkie

The Truth Is Out There… ;o)

hi Janus

also, ein makro zu schreiben, dass alle worte eines dokuments einliest und diese dann in einem anderen dokument sucht und fett markiert, ist nicht wirklich schwierig. nur ist word dafür nicht wirktlich geeignet, da es auch viel zu langsam für so eine aktion ist. sinnvoller wäre es, einen „richtigen“ sourcecode-editor zu nehmen. die guten sind alle konfigurierbar, d.h. man kann die dateien für das syntax-highlighting austauschen bzw. erweitern.

erwin

Die einzelnen Worte in der Textdatei müssen mit Zeilenumbruch getrennt sein. Wenn Du Komma haben willst, dann musst Du das Line Input durch Input ersetzen.

Sub ReplaceFormat()
 Dim vFileName, vSearchString As Variant
 
' user dialog get dictionary file
 Dim oFileDialog As FileDialog
 Set oFileDialog = Application.FileDialog(FileDialogType:=msoFileDialogFilePicker)
 With oFileDialog
 .AllowMultiSelect = False
 .Title = "Wörterbuch öffnen"
 .Filters.Add "Textdatei", "\*.txt", 1
 End With
 
 If oFileDialog.Show = -1 Then
 vFileName = oFileDialog.SelectedItems(1)
 Else
 Set oFileDialog = Nothing
 Exit Sub
 End If
 
 Set oFileDialog = Nothing
 
' cursor to top of document
 Selection.HomeKey Unit:=wdStory

 With Selection.Find
 .ClearFormatting
 .Replacement.ClearFormatting
 .Forward = True
 .Wrap = wdFindContinue
 .Format = True
 .MatchCase = False
 .MatchWholeWord = False
 .MatchWildcards = False
 .MatchSoundsLike = False
 .MatchAllWordForms = False
 
' replacement format
 .Replacement.Font.Bold = True
 
' read words (phrases) and replace format
 Open vFileName For Input Shared As #1
 
 Do Until EOF(1)
 Line Input #1, vSearchString
 If Not IsEmpty(vSearchString) Then
 .Text = vSearchString
 .Replacement.Text = vSearchString
 .Execute Replace:=wdReplaceAll
 End If
 Loop
 End With
 
 Close #1
End Sub ' ReplaceFormat()

Gruß
Christian

Hallo,

für eine Quelltextdokumentation muss ich MS Word (>= 2002)
verwenden.

Warum musst Du? Naja, für zukünftige ähnliche Projekte solltest Du Dir dringend mal Doxygen in Zusammenhang mit LaTeX anschauen. Wirklich eine feine Sache!

http://de.wikipedia.org/wiki/Doxygen
http://de.wikipedia.org/wiki/LaTeX

insbesondere

http://www.ctan.org/tex-archive/macros/latex/contrib…

macht einem das Leben wirklich erheblich leichter, als irgend ein K®ampf mit Word.

Gruß

Fritze

Vielen Dank! owt.
owt.