Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
打开Excel电子表格时关闭更新链接的消息_Excel_Vba - Fatal编程技术网

打开Excel电子表格时关闭更新链接的消息

打开Excel电子表格时关闭更新链接的消息,excel,vba,Excel,Vba,我有一个工作簿,我想打开,但没有要求它更新链接,(确切信息是: "此工作簿包含指向其他数据源的链接。如果您更新链接,Excel将尝试检索最新数据。如果您不更新链接,Excel将使用以前的信息。请注意,数据链接可用于在未经您允许的情况下访问和共享机密信息,并可能执行其他有害行为。请勿使用如果不信任此工作簿的源,请更新链接。“) 我想做的是通过单击Internet Explorer中的文件打开工作簿,并更新链接,但不要求用户单击按钮进行更新 我在工作手册的开放事件中尝试了以下代码,但未成功: Pr

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

"此工作簿包含指向其他数据源的链接。如果您更新链接,Excel将尝试检索最新数据。如果您不更新链接,Excel将使用以前的信息。请注意,数据链接可用于在未经您允许的情况下访问和共享机密信息,并可能执行其他有害行为。请勿使用如果不信任此工作簿的源,请更新链接。“)

我想做的是通过单击Internet Explorer中的文件打开工作簿,并更新链接,但不要求用户单击按钮进行更新

我在工作手册的开放事件中尝试了以下代码,但未成功:

 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