我已经写了一个脚本,可以构建excel报告。这些报告可能包括数据透视表。要在加载时刷新数据透视表,我refreshOnLoad="1"
向pivotCacheDefinition1.xml
文件添加了参数。它仅对我不喜欢的一件小事有效,当我打开报表时,excel会问我“您是否要替换目标单元格的内容”?我按“确定”,它将刷新数据透视表。我不喜欢这个带有此问题的弹出窗口,而且我认为很明显的是,如果refreshOnLoad="1"
指定了该内容,则应始终刷新该内容。所以,我的问题是如何抑制此窗口弹出?
编辑
根据这个线程:
每当Excel发现更新会替换任何现有单元格的内容时,都会向您发出警告。这是一项重要功能。
因此,这是否意味着当Excel看到数据透视表内容应刷新时,它始终会发出警告?
编辑
看来我的问题与此类似。但是,我没有使用VB宏,而是使用其他某种编程语言(以编程方式将xlsx文件解压缩并处理其中所有这些xml文件)来构建报告。
编辑
好吧,我尝试了Application.AlertBeforeOverwriting = False
和Application.DisplayAlerts = False
,但都没有用。
我无法重现该问题,因此这些建议比答案更多。
我认为您尝试执行的命令为时已晚-Excel在尝试刷新之前需要知道“覆盖前不发出警报”。如果它在打开时刷新,则说明您设置了该属性,则表示事件顺序错误。
尝试:
refreshOnLoad="1"
您的文件。Workbook_Open()
到工作簿中。Application.AlertBeforeOverwriting = False
,然后调用方法PivotTable.Refresh
。这应该解决任何“事件顺序”问题。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句