首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在不同的Excel过程中更改Application.Calculation

在不同的Excel过程中更改Application.Calculation
EN

Stack Overflow用户
提问于 2021-03-12 04:00:44
回答 1查看 25关注 0票数 2

在VBA子例程中,我将值写入在单独的Excel进程中运行的另一个“目标”工作簿,如下所示:

代码语言:javascript
复制
Set xlWB = GetObject(STR_TARGET_WORKBOOK_FILENAME)
xlWB.Worksheets(STR_TARGET_SHEET).Range("B1").value = Now()

在向目标工作簿写入值时,我希望暂停计算。如果它运行在与这个VBA相同的Excel进程中,我可以直接执行Application.Calculation = xlCalculationManual

如何在运行目标工作簿的Excel进程中获取和设置Application.Calculation模式?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-03-24 04:55:41

外部工作簿对象也将具有对其Application的引用,因此我们可以简单地执行以下操作:

代码语言:javascript
复制
Dim xlWB As Object
Dim calcMode As Integer

Set xlWB = GetObject(STR_TARGET_WORKBOOK_FILENAME)
' Get the Target's calculation mode
calcMode = xlWB.Application.Calculation
' Suspend calculation in the Target's Excel process
xlWB.Application.Calculation = xlCalculationManual
' ... do stuff to xlWB
' Restore whatever calculation mode was in that process
xlWB.Application.Calculation = calcMode
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66589702

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档