我有一个 Python 脚本,它使用 Excel 的 COM 接口使用来自各种来源的数据填充 Excel 文件。这是一个片段:
file=win32com.client.Dispatch("Excel.Application")
#various manipulation goes here
file.DisplayAlerts=False
sheet.Delete()
file.DisplayAlerts=True
填充完所有内容后,我需要删除其中一张,因此我关闭了 DisplayAlerts,因此它不会要求我确认删除。之后我想再次打开它,这样用户就不会丢失数据。但是,在 DisplayAlerts 重新打开后,切换工作表会给我以下消息:“此工作表中的公式包含一个或多个无效引用。验证您的公式是否包含有效的路径、工作簿、范围名称和单元格引用”。我通常不会收到此消息,并且我的所有公式都按预期工作。我怎样才能避免该消息?
我很确定该消息与以下事实有关,即我的图表在其数据范围内有很多 #N/A 值(因此不会绘制点)。但是我能做些什么来摆脱这些消息,为什么它们会出现在这三行代码之后?此外,仅关闭并再次打开 DisplayAlerts 不会显示消息:删除在其中起作用。
另外,为什么该消息不只是告诉您它在哪里发现问题,是否有充分的理由?
该消息仅在第一次切换到工作表时出现,并在每次对图表范围进行编辑时返回。此外,如果我只是删除工作表而不关闭 DisplayAlerts,它也不会出现。