0

我想创建一个 .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,但它不适用于这种情况。我想知道我是否缺少某些东西,或者我是否必须以不同的方式重组此代码?

任何指导将不胜感激。

谢谢,

标记

4

1 回答 1

0

尝试类似的东西

objXLWb.Connections("YourConnectionName").Refresh

于 2013-09-27T14:59:11.460 回答