トップへ(mam-mam.net/)

基本認証のURLをInternetExplorerで開くには

検索:

「基本認証の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