2016-01-24 72 views
0

我想準備來自特定JSON文件的每日報告。我的計劃是通過VBA下載文件,然後編寫一個自動生成報告的宏。打開網頁,登錄並再次關閉它

問題是JSON文件位於單點登錄認證協議後面。出於各種原因,我只是不想讓VBA通過SSO。我想要做的是: 1)讓VBA打開JSON文件的地址。 2)如果我還沒有登錄,請打開SSO頁面的瀏覽器窗口,以便手動輸入我的憑證。 3)JSON文件打開後 - 如果我已經登錄並且有數據,請關閉瀏覽器窗口並將數據下載到特定位置。 4)調用另一個宏,以便生成報告。

答:這可能嗎?

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

相關問題