如何訪問另一個Excel工作簿中定義的公共常量?
設置
workbook.xls中
我的VBA代碼在一個名爲 「MyWorkbook.xls」 當前Excel工作簿中運行。 它有一些VBA代碼,它讀取一個文件名 - 「OtherWorkbook.xls在這種情況下 - 從單元格」A1「。然後,代碼應該讀取其他工作簿中定義的常量並將其寫入單元格」A2 」這裏是我的代碼如下所示:
Sub GetValueFromOtherWorkbook()
otherWorkbook = Range("A1").Value ' Value = "OtherWorkbook.xls"
Dim returnedValue As String
' Idea 1: Doesn't work
Set returnedValue = OtherWorkbook.xls!Module1.MY_CONSTANT
' Idea 2: Doesn't work either
Set returnedValue = Application.Run(otherWorkbook & "!Module1.MY_CONSTANT")
Range("A2").Value = returnedValue ' MY_CONSTANT = "testValue"
End Sub
OtherWorkbook.xls
第二Excel工作簿被稱爲 「OtherWorkbook.xls」 爲 它有一個VBA模塊調用模塊1如上所述。 Module1定義了一個公共常量,代碼如下所示:
Public Const MY_CONSTANT As String = "testValue"
問題
從MyWorkbook.xls代碼不運行,則返回以下錯誤
運行時錯誤 '424'
所需的對象
我不即使在閱讀幫助文檔後,也不知道該如何處理它。在另一種情況下,我設法調用另一個工作簿中的例行使用此代碼:
otherWorkbookName = "OtherWorkbook.xls"
Application.Run (otherWorkbookName & "!Module1.SomeRoutine")
因此,調用一個日常工作,但訪問一個公共的常量不。
任何想法,我可以嘗試下?
很好的答案,謝謝。是的,我也想過寫封裝方法作爲最後的手段。我想我會採用這種解決方法,所以我不必介紹任何新的參考。 – Lernkurve 2010-09-24 08:49:02