打开Excel电子表格时关闭更新链接的消息
我有一个工作簿,我想打开,但没有要求它更新链接,(确切信息是: "此工作簿包含指向其他数据源的链接。如果您更新链接,Excel将尝试检索最新数据。如果您不更新链接,Excel将使用以前的信息。请注意,数据链接可用于在未经您允许的情况下访问和共享机密信息,并可能执行其他有害行为。请勿使用如果不信任此工作簿的源,请更新链接。“) 我想做的是通过单击Internet Explorer中的文件打开工作簿,并更新链接,但不要求用户单击按钮进行更新 我在工作手册的开放事件中尝试了以下代码,但未成功:打开Excel电子表格时关闭更新链接的消息,excel,vba,Excel,Vba,我有一个工作簿,我想打开,但没有要求它更新链接,(确切信息是: "此工作簿包含指向其他数据源的链接。如果您更新链接,Excel将尝试检索最新数据。如果您不更新链接,Excel将使用以前的信息。请注意,数据链接可用于在未经您允许的情况下访问和共享机密信息,并可能执行其他有害行为。请勿使用如果不信任此工作簿的源,请更新链接。“) 我想做的是通过单击Internet Explorer中的文件打开工作簿,并更新链接,但不要求用户单击按钮进行更新 我在工作手册的开放事件中尝试了以下代码,但未成功: Pr
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) 这是一个工作簿打开子项,而不是工作簿激活子项。激活子项未抑制更新链接请求
2) 我不得不加入一个DisplayAlerts标志切换来抑制关于链接未更新的第二个警告,即使在第一个更新链接请求被抑制之后也是如此
如果在Robert的回答中不明显,那么当我将此子对象放入ThisWorkbook对象中时,它工作正常。我在vba.xlm文件中使用此代码
Private Sub Workbook_Open()
ThisWorkbook.UpdateLinks = xlUpdateLinksNever
End Sub
M办公室2013