我有一个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的情况下删除工作表,则不会出现。