Makro - sub spell errors - eines ehemals guten Geistes

Hallo,

ein guter Geist bei wer-weiss-was hat mir vor vielen Jahren untenstehendes Makro zukommen lassen. Auch neulich habe ich sehr gute Hinweise für einen neuen Laptop von Euch bekommen - Dank nochmals dafür. Dieses Makro stammt noch aus Word-2000-Zeiten und hat immer klaglos funktioniert. Seit ich auf Word 2010 umgestiegen bin, habe ich es nicht mehr verwendet. Jetzt muß ich wieder eine Publikation erstellen und würde es gern verwenden. Jedoch bekomme ich den Laufzeitfehler 4608. Das erste falsch, mithin rot unterstrichene Wort wird in die neue Datei kopiert und dann erscheint der Fehler. Kein Wunder, ich arbeite mit mehreren Orthographien des 15-19. Jahrhunderts. Genial war an diesem Makro, daß es die rot untersrichenen Rechtschreibfehlerwörter in eine extra Datei untereinander kopierte und man in dieser neuen Datei per Suchen & Ersetzen die Wörter sol lange aussortieren konnte, bis man die wirklich fehlerhaften Wörter reduziert und lokalisiert hatte. Sieht jemand, der sich mit Makros auskennt, villeicht, was bei diesem Makro in Word 2010 falsch sein könnte?
Herzlichen Dank für Eure Hilfe, theophas.

Sub ShowSpellErrors()

Dim CheckDoc As Document

Dim ErrorDoc As Document

Dim SpellError As Range

Set CheckDoc = ActiveDocument

Set ErrorDoc = Documents.Add

For Each
SpellError In CheckDoc.SpellingErrors

ErrorDoc.Range.InsertAfter

SpellError.Text

ErrorDoc.Range.InsertParagraphAfter

Next

End Sub

Kannst du den alten Beitrag mal raussuchen? Und das war ja sicher auch noch nicht die komplette Programmierung. Kannst du ein Beispieldokument zur Verfügung stellen?

Hallo,

von Word-Makros habe ich keine Ahnung, von Excel-Makros ein wenig. Aber ich habe leider kein Word 2010, sondern nur 2016.

Du hast dein Makro komisch hier eingestellt, und möglicherweise funktioniert’s bei dir deshalb nicht? Komisch finde ich aber den Laufzeitfehler, denn als ich das Makro genauso, wie von dir eingestellt, bei mir reinkopiert habe, habe ich andere Fehlermeldungen gehabt, die sich aber einfach durch Entfernen zweier Zeilenumbrüche beheben ließen!

Ich habe deinen Posting-Text von „Hallo“ bis „theophas“ in ein Word-Dokument kopiert, das Makro laufen lassen und folgende Liste bekommen:

weiss
muß
daß
untersrichenen
sol
villeicht
theophas

Ich behaupte also, dass es grundsätzlich funktioniert, denn die Liste sieht ganz gut aus! So sieht mein vollständiger Makro-Quelltext aus, ich hoffe, die Forensoftware fügt keine überflüssigen Zeilenumbrüche ein:

Sub ShowSpellErrors()

Dim CheckDoc As Document

Dim ErrorDoc As Document

Dim SpellError As Range

Set CheckDoc = ActiveDocument

Set ErrorDoc = Documents.Add

For Each SpellError In CheckDoc.SpellingErrors

ErrorDoc.Range.InsertAfter SpellError.Text

ErrorDoc.Range.InsertParagraphAfter

Next

End Sub

Versuch’s damit und achte bitte darauf, dass die Zeilen genauso bei dir im Makro stehen. Zeilenumbrüche an falschen Stellen führen zu Fehlern!

Viel Erfolg!
Christa

Da liegst du falsch.

Wat? Da werden ja haufenweise Redundanzen abgelegt. Und alphabetisch ist das auch nicht. Zugegeben, kann man so machen, wie du ja bewiesen hast. Aber man kann das auch noch deutlich nützlicher machen.

Es steht dir frei, das Uralt-Makro zu verschönern!

Nö. Wollte nur erklären, warum ich annahm, dass das nicht alles gewesen sein kann.

Hallo @all,
Danke für alle Antworten.
Ich habe den Artikel von 2007 (!) gefunden:


Und ich meine auch den Grund für den Laufzeitfehler gefunden zu haben: wenn das Dokument zu viele Rechtschreibfehler enthält, wird das rote-Wellenlinien-unterstreichen abgeschaltet. Wenn word 2010 alle Rechtschreibfehler unterstreichen kann, dann funktioniert auch das von mir genannte Makro. Meine Lösung ist jetzt pragmatischer Natur: Ich habe das umfangreiche Dokument gesplittet, lasse das Makro bei jedem Split laufen und setze die Fehlerlisten wieder in einem Doument zusammen. Das ist zwar geschmacklos aber sehr einfach.
Danke für die Hilfe.
theophas.

Glückwunsch, nicht schlecht! :smile:

Als geschmacklos würde ich es nicht bezeichnen, und wenn es funktioniert, umso besser. :slight_smile:

Aber wenn ich schon den damals von Ulf erwähnten Schwachsinn lese, „die Benutzerwörterbücher sind auf 200 kB begrenzt“, frage ich mich, welcher Idiot das so schwach programmiert hat. Obwohl auch schon lange bekannt ist, dass Word für wirklich anspruchsvolle Texte, auch wenn allein der Umfang (und nicht noch etwa mathematische Formeln o. ä.) damit gemeint ist, absolut nicht geeignet ist.

MUSST du Word benutzen, oder wäre eine Alternative (ich denke da an LaTeX) denkbar? Ich habe es schon lange nicht mehr benutzt, da hat sich inzwischen sicherlich auch einiges getan. Ich kann mir gut vorstellen, dass die Wörterbücher, die es dafür gibt, deutlich aufnahmefähiger als die Word-Wörterbücher sind.

Gruß
Christa

1 Like