2014-05-01 27 views
5

Sono nuovo di VBA. Alcuni tutorial mi dicono di usare costanti di enumerazione come wdOrientLandscape e wdRowHeightExactly (per cambiare l'orientamento della pagina e rendere l'altezza della riga 'esatta' rispettivamente). Tuttavia, durante il debug, posso vedere che il valore di queste costanti è vuoto e non "funzionano" come previsto.Accesso alle enumerazioni di parole VBA standard

Devo fare qualcosa di speciale per accedere a queste costanti, ad es. aggiungi un riferimento o qualcosa del genere?

Sto creando un documento di Word da una macro di Excel.

Grazie in anticipo

+1

Assicurarsi di disporre dei riferimenti corretti in ** Strumenti> Riferimenti ... ** –

+0

In particolare si desidera la libreria oggetti di Microsoft Word. – RubberDuck

risposta

4

all'interno di Excel (o qualsiasi client di automazione) le enumerazioni appartenenti al modello a oggetti di Word non sono esposti se si utilizza l'associazione tardiva (CreateObject("Word.Application")).

Se si esegue il binding anticipato aggiungendo un riferimento diventano visibili.

Se si aggiunge Option Explicit alla cima di voi moduli di codice (o si seleziona richiedere le dichiarazioni di variabili tra le opzioni editor VBA) si riceverà una fase di compilazione avviso se si tenta di utilizzare qualcosa che non è dichiarata/non disponibile

In Nel tuo caso particolare, vorresti aggiungere la libreria oggetti di Microsoft Word ai tuoi riferimenti. Se si sceglie di legare presto. Questo può essere fatto andando su Strumenti >> Riferimenti e selezionando la casella appropriata.

+0

Grazie - questo mi ha davvero aiutato. Non sapevo di "legatura anticipata" e "legatura tardiva" prima. ho avuto prima: 'Dim objWord come oggetto Set objWord = CreateObject ("Word.Application") Dim objDoc come oggetto Set objDoc = objWord.Documents.Add' ora ho: ' Dim objWord come Word.Application Set objWord = Nuova Word.Application Dim objDoc come Word.Document Set objDoc = objWord.Documents.Add' e ha aggiunto il riferimento alla Parola come suggerito. Ora le costanti funzionano e quindi esegue il completamento automatico su oggetti relativi a Word! Grazie a tutti. – user3586058