2013-09-27 6 views
0

Я хочу создать файл .VBS, чтобы обновить таблицу на рабочем листе. Данные этой таблицы поступают из внешнего источника данных (запрос MS). Обычно я просто щелкаю по столу и перехожу к Refresh. Это то, что я хотел бы дублировать в .VBS-файле. Это возможно?VBS-файл для обновления внешних данных в конкретных рабочих листах

Я исследовал это на Stackoverflow (и Google), но мне не повезло найти код для конкретного рабочего листа, только для книги. Я бы хотел сделать это для конкретного листа.

Я сделал исследование, как получить доступ к рабочей таблицы Excel через .VBS, и это то, что я до сих пор:

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 и т. Д. Я получаю «Object не поддерживает это свойство или метод». Я также попробовал. Рассчитайте, но это не работает для этого случая. Мне интересно, есть ли что-то, чего мне не хватает, или если мне придется реструктурировать этот код по-другому?

Любое руководство будет оценено по достоинству.

Спасибо,

Марк

+0

Я исследовал немного больше, и я думаю, что я получил его. Я обновил запрос, а затем воспользуюсь Calculate, чтобы обновить рабочий лист. После этого лист обновляется. Я редактировал мой код выше: 'code'For Every qry В objXLWs.QueryTables qry.Refresh (false) Следующий objXLWs.Calculate' code' –

ответ

0

Попробуйте что-то вроде

objXLWb.Connections("YourConnectionName").Refresh

+0

Спасибо за ваше предложение. –

+0

Вы попробовали предложение, которое я дал? –

+0

На самом деле я сделал для другого вопроса, который у меня был, который был отделен от этого, и это сработало. –

Смежные вопросы