因此,我有一个很大的excel工作簿,里面充满了宏,并且我正在通过python3和pywin32自动使用该工作簿。我想知道是否有人知道在VBA宏运行时如何暂停python脚本?
我可以建议您采用以下三种方法:
1.使用一个文件向Python发出信号,告知VBA已完成工作
为此,请让您的VBA脚本创建一个空白文件(可以是.xlsx)
import os.path
import time
"""
First block of code here
"""
while os.path.isfile('signal.xlsx') == False:
time.sleep(10)
"""
Second block of code here
"""
2.计算您的VBA脚本运行需要多长时间
如果您要让脚本更改工作表的某些方面,请使用较短的版本运行,计算所需的时间,然后将运行时间乘以运行所需的总迭代次数。
让Python等待那么多秒,然后再运行以下代码块。
import time
time.sleep(seconds)
3.使用Python Scheduler
例如,如果您认为在晚上运行脚本更安全,也可以使用Schedule项目在给定时间运行脚本。
我推荐您使用https://pypi.org/project/schedule/,因为它有一个非常简单的用法示例。