用于刷新特定工作表中的外部数据的VBS文件

时间:2013-09-27 14:31:10

标签: excel vba excel-vba vbscript

我想创建一个.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,但它不适用于这种情况。我想知道是否有遗漏的东西,或者我是否需要以不同的方式重构这些代码?

任何指导都将不胜感激。

谢谢,

标记

1 个答案:

答案 0 :(得分:0)

尝试类似

的内容

objXLWb.Connections("YourConnectionName").Refresh