我試圖自動化Excel VBA所做的所有工作。我的僱主擁有一套標準化的模板,其中所有文檔都應該由其生成。我需要從Excel VBA中填充這些模板之一。 Word模板廣泛使用VBA。如何在Excel VBA中訪問Word公共變量
這是(一些)我的Excel VBA代碼:
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
在Word中VBA Autoexec
模塊,名爲user
公共變量定義,並宣佈。來自Utilities
模塊的Userinfo
子組填充user
。這兩個例程都是在沒有VBA投訴的情況下運行的。然後我想能夠訪問我的Excel VBA的user
變量,但我得到以下錯誤
Compile Error: Variable not yet created in this context.
我如何訪問Word中VBA變量在Excel VBA?我認爲它或多或少都是一樣的?
編輯:user
變量是用戶定義Type
只有String
屬性。複製是填充user
變量的話VBA函數是絕對可行的,只是更多的工作比我雖然是必要的......
將'UserInfo'轉換爲一個函數,並給它一個可以分配給Excel中變量的返回值 –
@MacroMan'UserInfo'內置於模板中,不是我能夠篡改的東西... – Holene
儘管您可以創建自己的UDF來返回變量 –