刷新几个Excel电子表格的外部数据?

我从这里得到了一个用户的代码,但我不能确定我是否被允许发布他们的问题,因为我问的是另一个问题的代码被张贴…对不起,我是新的…

这是一个问题:

如何使用VBScript有效刷新多个Excel电子表格的外部数据?

这里是代码:

Sub RefreshAllExcelInFolder() Dim fso Dim ObjFolder Dim ObjFiles Dim ObjFile Dim objExcel 'Creating File System Object Set fso = CreateObject("Scripting.FileSystemObject") 'Getting the Folder Object Set ObjFolder = fso.GetFolder("S:\Finance & Performance\IM&T\Information\Surgicaldir\18 Weeks\18wksPTL\validation") 'Getting the list of Files Set ObjFiles = ObjFolder.Files 'On Error Resume Next For Each ObjFile In ObjFiles If LCase(Right(ObjFile.Name, 5)) = ".xlsx" Or LCase(Right(ObjFile.Name, 4)) = ".xls" Then Workbooks.Open(ObjFile).Activate RefreshAllData End If Next End Sub Sub RefreshAllData() ActiveWorkbook.RefreshAll ActiveWorkbook.Save ActiveWorkbook.Close MsgBox ("Going back In") End Sub 

我得到这个消息,按下OK后,完美 – 但有没有办法得到这个消息? 此操作将取消挂起的刷新数据命令。 继续? 谢谢liz

RefreshAllasynchronous运行,因此您的Close命令可能正在尝试closures正在刷新的工作簿。 试试这里或这里的一些解决scheme。

转到每个“连接”,select“属性”,然后取消select“后台刷新”选项。

我相信禁用这个function会强制脚本等待,直到所有的连接都被刷新,然后再继续。