![](/img/trans.png)
[英]choosing specific Excel workbook is possible among multiple opened workbooks?
[英]Target one specific workbook among multiple workbooks
所以我有这段代码来更新我的excel工作簿中的链接
Dim alertTime As Date
Public Sub Refresh()
'refresh
ActiveWorkbook.UpdateLink (ActiveWorkbook.LinkSources)
'Workbooks("Requests").UpdateLink (Workbooks("Requests").LinkSources)
alertTime = Now + TimeValue("00:00:05") 'hh:mm:ss
Application.OnTime alertTime, "Refresh"
Debug.Print Now() & " - Links Updated"
'MsgBox "5 Seconds have passed, refreshing", vbInformation, "Debug"
End Sub
Sub StopRefresh()
Application.OnTime alertTime, "Refresh", , False
End Sub
该代码有效,但是一旦我打开另一个工作簿和刷新触发器,它就会出错。 我希望能够针对该特定工作簿进行刷新命令。
欢迎任何帮助。
您可能需要将工作表也这样放置:
workbooks("Requests").Sheets("Sheetname").UpdateLink(Workbooks("Requests").Sheets("Sheetname").LinkSources)
您的语句ActiveWorkbook.UpdateLink (ActiveWorkbook.LinkSources)
更新了“活动”工作簿中的链接。 那是您当前正在使用的工作簿。 当您打开一个新工作簿时,新工作簿将成为活动工作簿。
代替ActiveWorkbook.UpdateLink (ActiveWorkbook.LinkSources)
尝试以下操作:
Workbooks("nameOfWorkbook").UpdateLink (Workbooks("nameOfWorkbook").LinkSources)
其中nameOfWorkbook是您要为其更新链接的工作簿的文件名(即文件名,扩展名和路径,如果需要) 。 例如,
Workbooks("Requests.xlsb").UpdateLink (Workbooks("Requests.xlsb").LinkSources)
如果活动目录与保存Requests.xlsb的目录不同,则必须包括完整路径,如下所示:
Workbooks("C:\Users\yourID\Documents\Requests.xlsb").UpdateLink _
(Workbooks("C:\Users\yourID\Documents\Requests.xlsb").LinkSources)
或更简而言之:
With Workbooks("C:\Users\yourID\Documents\Requests.xlsb")
.UpdateLink .LinkSources
End with
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.