types不匹配错误设置Excel应用程序计算

我有一个使用VBA从Visio获取或启动Excel的macros,并创build一个工作簿以附带活动的Visio绘图。

当macros去closuresExcel自动计算时,我得到一个types不匹配的错误,但它并不总是给出这个错误。

为什么代码有时会起作用,而不是其他的?

Dim XLCalcMode As Long XLCalcMode = XLApp.Calculation XLApp.Calculation = xlCalculationManual 

Excel应用程序必须至less有一个工作簿打开,然后才能在应用程序对象上设置计算属性。

将.Calculation设置移到打开工作簿之后。

我不知道Visio,我继续一般的假设,它不共享Excel枚举,如XlCalculation

那么你:

  • 要么使用实际的枚举值

    比如xlCalculationManual的值是-4135,那么你想编码

     XLApp.Calculation = -4135 
  • 或者通过引用Excel应用程序对象来使用Excel枚举名称

     XLApp.Calculation = XLApp.xlCalculationManual