我在調用Internet Explorer的Excel工作簿中工作,並將工作簿用戶指向登錄頁面以驗證它們,然後從我們的服務器檢索數據。我發現如果用戶在IE中啓用了「保護模式」(Internet選項 - >安全),他們通常會在輸入用戶名和密碼後在登錄頁面「卡住」。當「保護模式」被禁用時,沒有問題。使用VBA獲取或設置Internet Explorer選項
我試圖創建一個宏來檢測它們的IE設置,並在啓用保護模式時通知用戶(如果可能,可能會使用PutProperty
方法使用VBA更改此設置)。我目前正在使用Microsoft Internet控件參考。我試過的路線如下(當然是在一個子程序中)。
Dim objBrowser As InternetExplorer
Dim vProtected As Variant
Set objBrowser = New InternetExplorer
'Opens IE and navigates to log-in page
'The code here works as expected
'No idea what to put in for arguments in GetProperty
vProtected = objBrowser.GetProperty("?")
我不確定什麼數據類型GetProperty
實際上返回(因此變體),我不知道在它傳遞的參數。此外,如果這完全是錯誤的做法,我願意採取新的行動。
InternetExplorer對象的GetProperty方法的MSDN article不太有用。
值得一提的是,我對微軟Internet控件和InternetExplorer對象頗爲陌生,這是我第一次使用它。
謝謝你的時間和考慮!
作爲一種變通方法,你可以在網站添加到IE瀏覽器中的受信任站點列表中。我認爲這會禁用該網站的保護模式。 – Sam
我認爲爲了做到這一點,我將不得不修改用戶的註冊表,這不是一個真正可行的選擇。我認爲這是一個不可能完成的任務(考慮到我的限制),只是想獲得專家的建議。 – Soulfire