2015-05-14 2 views
1

Я пытаюсь написать программу vbs, где я перехожу к веб-странице, щелкните ссылку, которая открывает файл в excel, а затем запустите макрос в файле excel. Я знаю, как перейти на веб-страницу и нажать ссылку. Мне нужна помощь в выяснении того, как я храню файл excel так, чтобы программа vbs могла манипулировать им.Откройте документ в IE и сохраните его как переменную в vbs

Set IE = WScript.CreateObject("InternetExplorer.Application", "IE_") 
IE.Visible = True 
IE.Navigate ("https://www.whateverWebsite.com/") 

Dim LinkHref  
LinkHref = "analyze" 'the key word that will be in the link to click 
Dim a 

For Each a In IE.Document.GetElementsByTagName("a") ' for every element whose tag name starts with 'a' for "a href" pull out its contents 
    If InStr((a.GetAttribute("href")), LinkHref)>0 Then 'checks to see if the link that is set contains the string stored in LinkHref 
     a.Click 'click the link 
    End If 
Next 

Dim objExcel 
Set objExcel = CreateObject("Excel.Application") 

Теперь, как я могу прикрепить файл excel, который я открыл со ссылкой, к objExcel?

+1

Любая форма * Манипулирование это * будет для всех намерений и целей быть сделано на локальной копии, будь то в памяти , в качестве временного файла в папке «Терминальные файлы Интернета» или в виде загрузки. Вы пытаетесь сохранить его локально или PUT его обратно в измененном состоянии? – Jeeped

+0

Я пытаюсь открыть файл excel, запустить макрос в файле, а затем сохранить его обратно на сервер. Поэтому он не будет сохранен на моей локальной машине. – BlindingFog

+0

Предложите вам посмотреть глагол HTTP PUT. Хорошая информация в [PUT vs POST in REST] (http://stackoverflow.com/questions/630453/put-vs-post-in-rest). – Jeeped

ответ

1

Вы можете прикрепить к экземпляру под управлением Excel с помощью GetObject:

Set xl = GetObject(, "Excel.Application") 

Если несколько экземпляров запущены, то будет только вам первым, хотя. Вам нужно будет завершить первый экземпляр, чтобы перейти ко второму.

С учетом сказанного, лучшим подходом будет иметь Excel открыть URL непосредственно:

Set xl = CreateObject("Excel.Application") 
For Each a In IE.Document.GetElementsByTagName("a") 
    If InStr(a.href, LinkHref) > 0 Then 
     Set wb = xl.Workbooks.Open(a.href) 
     Exit For 
    End If 
Next 
Смежные вопросы