WordBasic-Fehler in Makros beseitigen

Wenn Sie ein WordBasic-Makro einer älteren Word-Version in Visual Basic für Anwendungen konvertiert haben, erhalten Sie während der Ausführung die Fehlermeldung: »Laufzeitfehler '1042': Die Maße für linken/rechten Seitenrand, Spaltenabstände oder Absatzeinzüge sind für die Seitenbreite in manchen Abschnitten zu groß«. Sie suchen nun nach der Ursache des Fehlers.

Wenn Sie die Fehlermeldung erhalten, klicken Sie auf die Schaltfläche »Debuggen«. Es öffnet sich der Visual- Basic Editor und die fehlerhafte Befehlszeile ist markiert. Diese kann zum Beispiel so aussehen:



WordBasic.FilePageSetup PageWidth:=504, PageHeight:=504



Der Fehler entsteht, da das WordBasic der früheren Word-Versionen die Einheit »Punkt« für die Argumente »PageWidth« (Seitenbreite) und »PageHeight« (Seitenhöhe) verwendet. Ab Word 2000 ist die Einheit dieser Argumente aber »Twips« (1/20 Punkt). Aus diesem Grund können sich bei der Konvertierung des Makros Fehler einschleichen und die Werte der Seitenbreite und -höhe zu niedrig eingestellt sein. Am besten, Sie überprüfen Ihre Werte mit einer kurzen Berechnung:

Die kleinste mögliche Seitenbreite in Word beträgt 0,5 Zoll; die kleinste mögliche Seitenhöhe kann jeder Wert über null sein, wenn alle Seitenränder und Absatzeinzüge auf null und die Spaltenabstände auf 0,5 Zoll eingestellt sind. Da 0,5 Zoll umgerechnet 720 Twips (0,5 * 1.440 Twips pro Zoll) entsprechen, ist demnach 720 der kleinste zulässige Wert für das »PageWidth«-Argument. Ein kleinerer Wert führt zu Fehlern. Beachten Sie, dass die Mindest-Seitengröße von vielen Einstellungen wie Seitenrand, Spaltenabstand und Absatzeinstellungen abhängig ist, so dass der Fehler auch bei größeren Werten auftreten kann.