我想创建一个.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,但它不适用于这种情况。我想知道是否有遗漏的东西,或者我是否需要以不同的方式重构这些代码?
任何指导都将不胜感激。
谢谢,
标记
答案 0 :(得分:0)
尝试类似
的内容 objXLWb.Connections("YourConnectionName").Refresh