【问题标题】:Type Mismatch error setting Excel app calculation类型不匹配错误设置 Excel 应用程序计算
【发布时间】:2016-12-15 02:31:50
【问题描述】:

我有一个宏,它使用 VBA 从 Visio 获取或启动 Excel,并创建一个工作簿来伴随活动的 Visio 绘图。

当宏关闭 Excel 自动计算时,我收到类型不匹配错误,但它并不总是给出该错误。

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

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

【问题讨论】:

    标签: excel vba


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

      我不了解 Visio,我继续假设它不共享 Excel 枚举,例如 XlCalculation

      所以你:

      • 要么使用实际枚举值

        例如 xlCalculationManual 的值为 -4135,那么你要编码

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

        XLApp.Calculation = XLApp.xlCalculationManual 
        

      【讨论】:

      • 我使用后期绑定,但我确实定义了所有 Excel 常量。相反,我发现除非打开工作簿,否则无法在 Excel 的应用程序上设置 .Calculation 属性。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-04-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-11
      • 1970-01-01
      相关资源
      最近更新 更多