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对象中时,这个子部分就工作了。