2014-05-01 13 views
5

Ich bin neu in VBA. Einige Tutorials sagen mir, dass ich Enumerationskonstanten wie wdOrientLandscape und wdRowHeightExactly verwenden soll (um die Seitenausrichtung zu ändern und die Zeilenhöhe 'exakt' zu machen). Wie auch immer, beim Debuggen kann ich sehen, dass der Wert dieser Konstanten Empty ist und sie nicht wie erwartet funktionieren.Zugriff auf Standard-VBA-Wortaufzählungen

Muss ich etwas Besonderes tun, um auf diese Konstanten zuzugreifen, z. eine Referenz oder etwas hinzufügen?

Ich erstelle ein Word-Dokument aus einem Excel-Makro.

Vielen Dank im Voraus

+1

Stellen Sie sicher, dass Sie die richtigen Referenzen in ** Tools> Referenzen ... haben. ** –

+0

Insbesondere möchten Sie die Microsoft Word-Objektbibliothek. – RubberDuck

Antwort

4

Innerhalb Excel (oder jede Automatisierungs Client) die Aufzählungen auf das Objektmodell Wort gehören, nicht, wenn Sie die späte Bindung verwenden ausgesetzt (CreateObject("Word.Application")).

Wenn Sie früh binden, indem Sie eine Referenz hinzufügen, werden sie sichtbar.

Wenn Sie Option Explicit an die Spitze der Sie Codemodule hinzufügen (oder Variablendeklarationen von den VBA-Editor-Optionen erfordern wählen) erhalten Sie eine Kompilierung Warnung erhalten, wenn Sie etwas zu verwenden, versuchen, die in nicht verfügbar/

nicht deklariert ist In Ihrem speziellen Fall möchten Sie die Microsoft Word-Objektbibliothek zu Ihren Referenzen hinzufügen. Wenn Sie sich für eine frühe Bindung entscheiden. Dies können Sie tun, indem Sie auf Extras >> Referenzen gehen und das entsprechende Kontrollkästchen aktivieren.

+0

Danke - das hat wirklich geholfen. Ich wusste noch nicht von früher Bindung und später Bindung. Ich hatte vor: 'Dim objWord As Object Set objWord = Create ("Word.Application") Dim objDoc As Object Set objDoc = objWord.Documents.Add' Jetzt habe ich: ' Dim objWord als Word.Application Set objWord = New Word.Application Dim objDoc als Word.Document Set objDoc = objWord.Documents.Add' und hinzugefügt, um den Verweis zu Word als vorgeschlagen. Jetzt funktionieren die Konstanten und Autocomplete auf Word-bezogenen Objekten! Danke an alle. – user3586058