使用Dir循环的Excel VBA更新链接
当我运行下面的dir循环时,打开的文件会提示更新链接,即使代码说要更新链接。有人知道为什么我仍然被提示更新吗?我有一种感觉,我的目录是sharepoint使用Dir循环的Excel VBA更新链接,vba,sharepoint,excel,Vba,Sharepoint,Excel,当我运行下面的dir循环时,打开的文件会提示更新链接,即使代码说要更新链接。有人知道为什么我仍然被提示更新吗?我有一种感觉,我的目录是sharepoint Sub OpenProjectFiles() Dim sFile As String Dim sPath As String sPath = Application.ActiveWorkbook.Path sPath = Replace(sPath, "/", "\") sPath = Replace(sPath, "http:", ""
Sub OpenProjectFiles()
Dim sFile As String
Dim sPath As String
sPath = Application.ActiveWorkbook.Path
sPath = Replace(sPath, "/", "\")
sPath = Replace(sPath, "http:", "")
sFile = Dir(sPath & "\FY*.xls")
Do While Len(sFile) > 0
On Error Resume Next
Workbooks.CheckOut FileName:=sPath & "\" & sFile
Workbooks.Open FileName:=sPath & "\" & sFile, UpdateLinks:=3
sFile = Dir
Loop
End Sub
事实上,我找到了自己的问题,解释如下但是如果有更好或更快的方法循环浏览和打开这些文件,我会喜欢insight。目前,查找、签出、打开和更新链接大约需要6秒钟——更新链接并不需要很长时间,因为通常更新的信息不多。由于这个例程通常会打开10-15个文件,所以几乎需要2分钟才能完成 答:我意识到代码实际上是在更新链接,但出于某种原因,提示仍然会弹出。因此,我只是用以下命令禁用了提示:
Application.AskToUpdateLinks = False
注意:如果有人看到一种更有效的方法来做我想做的事情,我也会喜欢这种输入。考虑到我正在从sharepoint驱动器中提取数据,这已经需要一段时间才能运行。