相关疑难解决方法(0)

如果对话框打开或 Excel 正在等待用户,则 win32com 中的被调用者拒绝调用

我需要确定 Excel 是否准备好接受来自 Python 中 win32com 的 COM 对象。例如,如果在 Excel 中打开一个对话框,则对 win32com 函数的任何调用都将导致“调用被被调用者拒绝”错误。

通过反复试验,我发现如果 Excel(实际上我假设任何 Office 产品)打开了一个对话框,则任何对 win32com 的调用都会导致错误。

经过相当多的谷歌搜索后,我发现了很多关于打开自残对话框的问题。即执行 Excel.SaveAs() 将在工作表上打开一个对话框,您将被卡住,直到用户关闭它。

就我而言,我有一个用户打开了一个对话框或以其他方式与 Excel 进行了交互,并让其等待输入。像开始在公式栏上输入公式这样简单的事情都会导致 win32com 函数返回错误。

有几个问题:有没有办法确定 Excel 是否准备好执行命令?有没有办法告诉哪个框打开了(excel 在等什么?) 有没有办法通过 win32com 关闭框...请记住,据我所知,我用 win32com 执行的任何操作都会返回错误处于这种状态

我知道我可以尝试:catch:但我需要围绕每个 win32com 函数(此时有很多)。我认为这种方法会使代码不必要地冗长和复杂。

python excel win32com

4
推荐指数
1
解决办法
4077
查看次数

标签 统计

excel ×1

python ×1

win32com ×1