Makro für Word gesucht

Hallo liebe Experten,
Nachdem ich ja - Dank Rainer weiß, dass ich meine
VB 6 Quelldateien mit Word lesen kann, hätt ich jetzt gern ein kleines Makro von Euch (ich kenn die Objekte von Word nicht… und VBA nur gaanz rudimentär).

Alle Zeichen in einer Zeile , die mit einem ’ beginnen, also meine ehemaligen Kommentarzeilen, sollen wieder grün eingefärbt werden.

Vielen Dank für Eure
Unterstützung, Karotier

Hallo liebe Experten,
da habe ich mich wohl sehr undeutlich ausgedrückt. Vielleicht könnt ihr mir weiterhelfen, wenn ich meine Frage so stelle:

wie kann ich es per Makro in Word erreichen, dass alle Zeichen einer Zeile die hinter einem '(Apostroph) stehen, grün eingefäbt werden.

Also in der Form:
Durchlaufe den Text zeilenweise, wenn du in der Zeile ein ’ findest, färbe alles Zeichen dahinter grün ein.
Kann mir das jemand von Euch in VBA gießen?

Herzlichen Dank für Eure Mühe,
Karotier

ganz so einfach ist es auch net
Moin Karotier,
wenn man deinen Ansatz verfolgt, würde bei folgender Zeile
MsgBox "Das ist ein ‚Test‘"
der Teil Test’" als Kommentar gewertet werden.

Gruß.Timo

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Moin Karotier,
wenn man deinen Ansatz verfolgt, würde bei folgender Zeile
MsgBox "Das ist ein ‚Test‘"
der Teil Test’" als Kommentar gewertet werden.

Jepp. Da hast Du recht Timo…
Aber vielleicht kannst du mir die
objekte von Word nennen? gibt es ein Zeile.Ende ?
Oder wie sage ich „färbe bis Zeilenende?“
Irgenwie widerstrebt es mir hunderte von Kommentarzeilen einärben zu müssen… aber den VBA-Dialekt beherrsch ich nicht richtig…

Danke und Gruß,
Karotier

Moin Karotier,
habe dir ein Makro gebastelt, welches auch den von mir angesprochenen Ausnahmefall berücksichtigt.

Public Sub dingsbums()
Dim a As Long
Dim kommentar As Boolean
Dim AnfStr As Boolean
For a = 0 To ActiveDocument.Characters.Count - 1
If Asc(ActiveDocument.Range(a, a + 1).Text) = 13 Then
 kommentar = False
 AnfStr = False
End If
If Asc(ActiveDocument.Range(a, a + 1).Text) = 34 Then
 If kommentar = False Then
 If AnfStr = True Then
 AnfStr = False
 Else
 AnfStr = True
 End If
 End If
End If
If Asc(ActiveDocument.Range(a, a + 1).Text) = 39 And AnfStr = False Then
 kommentar = True
End If
If kommentar = True Then ActiveDocument.Range(a, a + 1).Font.Color = wdColorGreen
Next a
End Sub

Gruß.Timo

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

1 Like

Herzlichen Dank.

Gruß, Karotier