Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/15.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/sharepoint/4.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
使用Dir循环的Excel VBA更新链接_Vba_Sharepoint_Excel - Fatal编程技术网

使用Dir循环的Excel VBA更新链接

使用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:", ""

当我运行下面的dir循环时,打开的文件会提示更新链接,即使代码说要更新链接。有人知道为什么我仍然被提示更新吗?我有一种感觉,我的目录是sharepoint

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驱动器中提取数据,这已经需要一段时间才能运行。