WinINetはWindowsが提供しているAPIの一つでExcel VBAから利用することができます。
先日、このAPIを利用したVBAプログラムでHTTPS通信を行いたいという事案が発生しました。結論から申しますとできます。
HttpOpenRequest関数の7つめの引数を変更するだけです。
調べてみたところMicrosoftのリファレンスに情報がありました。
http://nienie.com/~masapico/api_InternetOpenUrl.html
https://learn.microsoft.com/ja-jp/windows/win32/wininet/api-flags
Private Const INTERNET_FLAG_SECURE As Long = &H800000
glngReqHnd = HttpOpenRequest( _
glngHttpHnd _
, pstrMethod _
, strUrl _
, "HTTP/1.1" _
, vbNullString _
, vbNullString _
, INTERNET_FLAG_SECURE_
, 0)
リファレンスによればFLAGは16進数で表現されます。
InternetConnect関数の第3引数をINTERNET_DEFAULT_HTTPS_PORTにするという情報がありますが、これはPortをHTTPSのデフォルトである443に設定するだけなので、この設定だけではHTTPS接続ができません。