2016/01/28

VBAで MSHTML.HTMLDocument を使うとCookieに関する Windows セキュリティの警告が出るようになった

2015年10月末ぐらいまでは特に問題なかったのですが、最近、VBAで MSHTML.HTMLDocument の createDocumentFromUrl を使うとCookieに関する Windows セキュリティの警告が出るようになりました。





調べてみると、2015年11月に配信されたWindowsUpdateによる影響の可能性が高そうです。
(参考:Internet Exploere(IE)を起動したらセキュリティ警告が表示された。

IEの設定で解除できるかと調べてみましたが見つけられなかったので、VBAの方で警告を表示しない方法で解決することにしました。


Sub GetHtml(ByVal url As String, Optional ByVal forceSecurityAlert As Boolean = True)
    Dim oHTML As MSHTML.HTMLDocument
    Dim doc As MSHTML.HTMLDocument
    Dim url As String
        
    If (oHTML Is Nothing) Then Set oHTML = New MSHTML.HTMLDocument
    
    ' セキュリティ警告を抑止する
    If forceSecurityAlert Then
        'oHTML.designMode = "on"
    End If
    
    Set doc = oHTML.createDocumentFromUrl(url, vbNullString)
 
    Do
        DoEvents
        If (doc.readyState = "complete") Then
            Exit Do
        End If
    Loop While (True)

    ' 以下、必要な処理
End Sub

大事な部分はこの部分です。

'セキュリティ警告を抑止する
If forceSecurityAlert Then
    'oHTML.designMode = "on"
End If


環境を以下の通りです。
Windows 7, Excel 2013, IE 11

参考にしたサイト



0 件のコメント:

コメントを投稿