我有一个使用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属性。 –