我在一个 XLSM 工作簿的模块中有一个宏,用于刷新所有外部数据,然后保存并关闭该工作簿。
ActiveWorkbook.RefreshAll
ActiveWorkbook.Save
ActiveWorkbook.Close
Application.Quit
我使用 VBScript 文件来运行该宏作为计划任务的一部分
objExcel.Workbooks.Open(fname)
objExcel.Visible = True
On error resume next
objExcel.Run "RefreshAllData"
问题:如何重用现有工作簿中的现有宏来刷新多个其他工作簿的所有数据? (即。我正在寻找对 VBScript 文件的必要修改,我想尽量减少对宏本身的更改。文件名将包含在 VBScript 文件中)TIA。
最佳答案
我建议不要重复使用这样的微不足道的宏。而是在 VBScript 中加入刷新功能:
Set fso = CreateObject("Scripting.FileSystemObject")
Set xl = CreateObject("Excel.Application")
xl.Visible = True
For Each f In fso.GetFolder("C:\some\folder").Files
If LCase(fso.GetExtensionName(f.Name)) = "xlsx" Then
Set wb = xl.Workbooks.Open(f.Path)
wb.RefreshAll
wb.Save
wb.Close
End If
Next
xl.Quit
关于excel - 如何使用VBScript有效刷新多个Excel电子表格的外部数据?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16932104/