Sto cercando di automatizzare la generazione di report in cui Excel VBA sta facendo tutto il lavoro. Il mio datore di lavoro ha una serie standardizzata di modelli di cui tutti i documenti dovrebbero essere generati. Devo compilare uno di questi modelli da VBA di Excel. I modelli di Word utilizzano estesamente VBA.Come accedere a una variabile pubblica di Word in Excel VBA
Si tratta di (alcune) il mio codice VBA di Excel:
Sub GenerateReport() ' (Tables, InputDataObj)
' code generating the WordApp object (works!)
WordApp.Documents.Add Template:="Brev.dot"
' Getting user information from Utilities.Userinfo macro in Document
Call WordApp.Run("Autoexec") ' generating a public variable
Call WordApp.Run("Utilities.UserInfo")
' more code
End sub
Nel modulo VBA di Word Autoexec
, una variabile pubblica di nome user
è definito e dichiarato. Il modulo Userinfo
secondario dal modulo Utilities
popola user
. Entrambe queste routine vengono eseguite senza alcun reclamo da VBA. Vorrei poi essere in grado di accedere alla variabile user
nel mio Excel VBA, ma ottengo il seguente errore
Compile Error: Variable not yet created in this context.
Come posso accedere alla variabile Word VBA in Excel VBA? Pensavo che fosse più o meno lo stesso?
MODIFICA: la variabile user
è un utente definito Type
con solo attributi String
. Copiare le funzioni di Word VBA che popolano la variabile user
è assolutamente fattibile, solo più lavoro di quanto mi era necessario ...
Trasforma 'UserInfo' in una funzione e dargli un valore di ritorno che può essere assegnato a una variabile in Excel –
@MacroMan' UserInfo' è incorporato nei modelli e non è qualcosa che sono in grado di manomettere ... – Holene
È possibile creare la propria UDF per restituire la variabile –