2016-01-24 3 views
0

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

Проблема заключается в том, что файл JSON находится за протоколом аутентификации с одним сигналом. По разным причинам я просто не хочу, чтобы VBA прошел мимо SSO.

Что я хотел бы сделать: 1) Имейте VBA, чтобы открыть адрес для файла JSON. 2) Если я еще не подписан, откройте окно браузера для страницы единого входа, чтобы я мог вручную ввести свои учетные данные. 3) Как только файл JSON открыт - если я уже подписан, и данные там, чтобы закрыть окно браузера и загрузить данные в определенное место. 4) вызовите другой макрос, чтобы отчет мог быть сгенерирован.

A: Возможно ли это?

B: Как?

ответ

1

Да, это возможно и немного беспорядочно. Поскольку я не знаю, как ваша система указывает на успешный вход в систему, я предполагаю, что страница входа в систему будет перенаправлена ​​на страницу с проверкой подлинности.

Dim IE 

Set IE = CreateObject("InternetExplorer.Application") 
IE.Visible = True 
IE.Navigate "Your login page" 'Go to login page 

Do 
    DoEvents 
Loop Until InStr(lcase(IE.LocationURL), lcase("Authenticated")) <> 0 ' wait until authentication is successful 

IE.Navigate "your json url" ' Navigate to json url 

Do 
    DoEvents 
Loop Until IE.ReadyState = 4 ' wait until download is completed 

Debug.Print IE.Document.body.innerHTML '<-- your json 

IE.Quit 
Set IE = Nothing 
+0

Фантастический - только то, что мне нужно, спасибо – SimaPro

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