我想创建一个 .VBS 文件来刷新特定工作表上的表格。此表的数据来自外部数据源(MS 查询)。通常,我只需右键单击表格并转到刷新。这就是我想在 .VBS 文件中复制的内容。这可能吗?
我在 Stackoverflow(和 Google)上对此进行了研究,但我没有运气找到特定工作表的代码,只是为了工作簿。我想为特定的工作表执行此操作。
我确实研究了如何通过 .VBS 访问 Excel 工作表,这就是我目前所拥有的:
Dim objXLApp, objXLWb, objXLWs
Set objXLApp = CreateObject("Excel.Application")
Set objXLWb = objXLApp.Workbooks.Open("C:\Test\Test.xlsx")
Set objXLWs = objXLWb.Sheets(6)
' This is the code I added to solve my problem
For Each qry In objXLWs.QueryTables
qry.Refresh(false)
Next
objXLWs.Calculate
' End
objXLWb.Save
objXLWb.Close (False)
Set objXLWs = Nothing
Set objXLWb = Nothing
objXLApp.Quit
Set objXLApp = Nothing
MsgBox "Done"
现在,“objXLWs.Refresh”不起作用。RefreshAll、RefreshAllData 等也没有。我得到“对象不支持此属性或方法”。我也试过.Calculate,但它不适用于这种情况。我想知道我是否缺少某些东西,或者我是否必须以不同的方式重组此代码?
任何指导将不胜感激。
谢谢,
标记