Excel使用GetObject打开工作簿时DisplayAlerts无效

4

我想使用GetObject打开一个工作簿。同时,我还想在打开时禁用更新链接的提示框。然而,使用GetObject失败了:

Application.DisplayAlerts = False
Dim Wb as Workbook
Set Wb = GetObject("C:\MyFile.xlsx")    ' <- update-links alert displayed here

在使用GetObject之前将Application.EnableEvents = False设置好可以按预期工作(即防止打开的工作簿中运行Workbook_Open)。

当使用GetObject时,如何禁用更新链接警告?

我正在使用GetObject而不是Workbooks.Open,因为GetObject可以干净地以隐藏状态打开文件,几乎不会在前端出现闪烁,这正是我所需要的。


1
了解GetObject的好处很有益 - 谢谢 - Tin Bum
@TinBum 我知道,对吧!!? :) - johny why
使用Workbooks.Open时,将Application.ScreenUpdating设置为False,以避免闪烁。 - Cristian Buse
@CristianBuse 在我看来,这会产生更多的视觉噪点,并且打开的工作表有时会在瞬间变得可见。这可能更多是远程文件的问题。对我来说,GetObject 的执行效果要好得多。顺便说一句,这个问题并不是在问如何减少闪烁。 - johny why
1
@johnywhy 我知道这不是问题,但你已经回答了问题,我只是评论一下,以防你不知道ScreenUpdating。评论部分可以用于添加与问题相关的事项,包括链接等,但也可以添加有关不属于答案的小细节的注释。很好知道GetObject会减少闪烁。 - Cristian Buse
@PeterMortensen 你提供了一个答案链接,但这是一个问题。你提供的答案涉及从一个已关闭的工作簿中提取数据,与本问题无关。 - johny why
1个回答

1
已解决: < p > < code > Application.AskToUpdateLinks = False

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接