Wie finde ich fehlende Anführungszeichen in Word 2016?

2 Antworten

Hallo,

ich habe dieses Makro gefunden:

Sub CheckQuotes()

Const QuoteIn = "»"
Const QuoteOut = "«"

Dim LastMatch As Range
Dim SensitiveHelp As String

Set LastMatch = ActiveDocument.Range.Characters.Last ' immer ^p
With ActiveDocument.Range.Find
.MatchWildcards = True
.Text = "[" & QuoteIn & QuoteOut & "]"
While .Execute
If .Parent.Text = LastMatch.Text Then
If LastMatch.Text = QuoteIn Then
SensitiveHelp = " geschlossen."
Else
SensitiveHelp = " geöffnet."
End If
LastMatch.Select
Selection.End = .Parent.End
MsgBox "Dieses Zitat wurde nicht mit einem Anführungszeichen" & SensitiveHelp, vbOKOnly
Exit Sub
End If
Set LastMatch = .Parent.Duplicate
Wend
End With

End Sub

Ich habe es von dieser Seite:

http://www.office-loesung.de/ftopic434008_0_0_asc.php

Das Makro gleicht immer ein gefundenes Anführungszeichen mit der Fundstelle des letzten Anführungszeichen ab. Sind die Anführungszeichen identisch, d. h. es fehlt eines, wird der Bereich zwischen den beiden Fundstellen markiert. So kannst du ungefähr sehen, wo das Anführungszeichen fehlt.

Ich hoffe, das hilft. Eine Rückmeldung wäre nett.

Viele Grüße

BerchGerch

Woher ich das weiß:eigene Erfahrung – Ich arbeite seit 25 Jahren nahezu täglich mit Word.
Tigermaus72 
Fragesteller
 18.11.2017, 07:01

Hallo BerchGerch,

herzlichen Dank für das Makro - das probiere ich auf jeden Fall aus und gebe Rückmeldung, herzlichen Dank!

1
BerchGerch  19.11.2017, 06:21
@Tigermaus72

Hallo,

ich habe das Makro selbst mal getestet. Mir sind zwei Dinge aufgefallen, auch wenn diese natürlich bereits im VBA-Code selbst zu erkennen sind:

  1. Das Makro beginnt seine Arbeit erst ab dem ersten gefundenen Anführungszeichen und hört beim letzten gefundenen Anführungszeichen auf. Das bedeutet, wenn ausgerechnet das erste offene Anführungszeichen (») im gesamten Dokument fehlt, oder das letzte geschlossene («) des gesamten Dokuments, wird das Makro das nicht bemerken, weil diese nicht in den Abgleich der Anführungszeichen mit einbezogen werden.
  2. Wenn das Makro nichts findet, passiert gar nichts und man bekommt auch keine Rückmeldung. Das finde ich nicht so gut, daher habe ich mir für diesen Fall am Ende des Codes über der Zeile End Sub noch den Befehl
MsgBox "Es scheinen keine Anführungszeichen im Dokument zu fehlen.", vbInformation + vbOKOnly

eingefügt. Dieser generiert eine Meldung, sollte das Makro nichts finden.

Sollte man also diese Meldung bekommen, sollten keine Anführungszeichen im Dokument fehlen und man muss nur sicherstellen, dass man nicht eines der Anführungszeichen vergessen hat, die ich oben in Punkt 1 beschrieben habe.

Gruß, BerchGerch

0

Hallo,

wenn Du die französischen Anführungszeichen (Guillemets) nicht auf Deiner Schriftart hast bzw. findest, kannst Du sie mit einer Tastenkombination » = Alt + 0187  (Alt gedrückt halten und die Ziffern nacheinander über den Ziffernblock eingeben - natürlich im Fenster "Suchen" gleich unmittelbar eingeben. Damit müsstest Du alle "»" finden. Analog danach die Kombination für « Alt + 0171.
Ich habe gerade ausprobiert (Word2010), es geht auch mit Kopieren - Einfügen.

Viel Erfolg


 

Tigermaus72 
Fragesteller
 16.11.2017, 19:35

Hallo,

danke für Deine Rückmeldung.

Diese Funktion kenne ich und natürlich habe ich auch den ASCI Code verwendet (sonst würde ich die Anzahl der Zeichen nicht kennen) :-)

Es geht mir um das automatische Erkennen fehlender Anführungszeichen. Gibt es ein Makro oder eine Syntax dafür? Irgendwo fehlt eins. Ich bin bstimmt nicht der erste Wordnutzer, der diese Funktion sucht, oder? :)

Viele Grüße

Tigermaus

0
MK2007  17.11.2017, 00:20
@Tigermaus72

Hallo,

so weit verstanden. Leider kann ich Dir hierbei nicht weiter helfen.

0