「基本認証のURLをInternetExplorerで開くには」
基本認証(Basic認証)のURLをVBAを使ってInternetExplorerで開くには。
ユーザー名とパスワードにより認証してURLを開きたい。
回答
InternetExplorerはhttpでもhttpsでも
http://[ユーザー名]:[パスワード]@[URL]
https://[ユーザー名]:[パスワード]@[URL]
で基本認証URLに認証することができるのですが、セキュリティの為、禁止になっています。
なので、一時的にレジストリを操作して許可状態にし、InternetExplorerで認証URLを開いた後でレジストリを元の禁止状態に戻します。
以下ソースコードを参照してください。
レジストリの操作を伴いますので自己責任でお願いします。
ソース
Sub AuthNavigate()
Dim ie As Object
Dim url As String
BasicAuthReg 0
Application.Wait Now + TimeValue("00:00:01")
Set ie = CreateObject("InternetExplorer.Application")
ie.Visible = True
url = "http://user:pass@mam-mam.net/sec/"
ie.navigate2 url
On Error GoTo set1
Do While ie.busy = True
DoEvents
Loop
On Error GoTo 0
set1:
BasicAuthReg 1
End Sub
Sub BasicAuthReg(v As Integer)
Dim wss As Object
Const reg = "HKCU\Software\Microsoft\Internet Explorer\" & _
"Main\FeatureControl\" & _
"FEATURE_HTTP_USERNAME_PASSWORD_DISABLE\" & _
"iexplore.exe"
Set wss = CreateObject("WScript.Shell")
wss.RegWrite reg, v, "REG_DWORD"
Set wss = Nothing
End Sub