closures消息更新链接Excel电子表格打开时

我有一个工作簿,我想打开,并没有要求更新链接,(确切的消息是:

“这个工作簿包含指向其他数据源的链接,如果你更新了链接,Excel将尝试检索最新的数据,如果你没有更新链接,Excel将使用以前的信息,注意数据链接可以用来访问并在未经您许可的情况下共享机密信息,并可能执行其他有害行为。如果您不相信本工作手册的来源,请勿更新链接。 )

我想要做的是打开工作簿,通过​​点击Internet Explorer中的文件,并有链接更新,但不要求用户点击button来更新。

我已经在工作簿的Open Event中尝试了以下代码,但没有成功:

Private Sub Workbook_Open() Application.DisplayAlerts = False Application.ScreenUpdating = False End Sub 

我也尝试了以上代码中的以下行:

 ActiveWorkbook.UpdateLink Name:=ActiveWorkbook.FullName, Type:=xlExcelLinks Application.ActiveWorkbook.UpdateLink Name:=ActiveWorkbook.FullName, Type:=xlExcelLinks Application.ActiveWorkbook.UpdateLink Workbooks.Open ActiveWorkbook, UpdateLinks:=True ActiveWorkbook.UpdateLink Name:=ActiveWorkbook.LinkSources, Type:=xlExcelLinks 

MS Excel 2010的版本,为了那些使用旧版本而保存到.xls文件。

你的帮助将非常感激。 提前感谢您的帮助。

尊敬,

罗伯特

为了以防万一,今后可能会有所帮助,下面是我所做的:

 Private Sub Workbook_Activate() Application.AskToUpdateLinks = False End Sub 

这防止更新链接消息框在文件打开时出现。

罗伯特

只要添加到罗伯特(@ user2320821)的答案 –

我不得不修改代码来:

 Sub Workbook_Open() Application.DisplayAlerts = False Application.AskToUpdateLinks = False Application.DisplayAlerts = True End Sub 

主要区别在于

1)这是一个Workbook_Open子而不是Workbook_Activate子。 激活子不禁止更新链接请求。

2)我不得不抛出一个DisplayAlerts标志切换来抑制第二个警告,即使在第一个更新链接请求被禁止之后,链接也没有被更新。

如果在Robert的回答中不明显,那么当我把它放在ThisWorkbook对象中时,这个子部分就工作了。