我有一個使用VBA從Visio獲取或啓動Excel的宏,並創建一個工作簿以附帶活動的Visio繪圖。類型不匹配錯誤設置Excel應用計算
當宏去關閉Excel自動計算時,我得到一個類型不匹配錯誤,但它並不總是給出該錯誤。
爲什麼代碼有時會工作,而不是其他人?
Dim XLCalcMode As Long
XLCalcMode = XLApp.Calculation
XLApp.Calculation = xlCalculationManual
我有一個使用VBA從Visio獲取或啓動Excel的宏,並創建一個工作簿以附帶活動的Visio繪圖。類型不匹配錯誤設置Excel應用計算
當宏去關閉Excel自動計算時,我得到一個類型不匹配錯誤,但它並不總是給出該錯誤。
爲什麼代碼有時會工作,而不是其他人?
Dim XLCalcMode As Long
XLCalcMode = XLApp.Calculation
XLApp.Calculation = xlCalculationManual
Excel應用程序必須至少有一個工作簿打開,然後才能在應用程序對象上設置計算屬性。
將.Calculation設置移至在打開工作簿之後。
我不知道的Visio,我去與一般的假設,它不共享Excel的枚舉,像XlCalculation
是
所以你:
要麼使用實際枚舉值
例如xlCalculationManual的值爲-4135,那麼您想要編碼
XLApp.Calculation = -4135
或使用Excel枚舉名通過引用Excel應用程序對象
XLApp.Calculation = XLApp.xlCalculationManual
我使用後期綁定,但我都定義了Excel常量。相反,我發現,除非打開工作簿,否則只能在Excel的應用程序上設置.Calculation屬性。 –