VBAのIE(InternetExplorer)制御に便利なサブルーチンを紹介しています。
Private Const S_OK = &H0
Private Const CSIDL_COOKIES = &H21
Private Const MAX_PATH = 260
Private Declare Function SHGetFolderPath Lib "shfolder" _
Alias "SHGetFolderPathA" _
(ByVal hwndOwner As Long, ByVal nFolder As Long, _
ByVal hToken As Long, ByVal dwFlags As Long, _
ByVal pszPath As String) As Long
Sub cookiesDel(Optional modeType As Integer = 0)
Dim cookieFolder As String
Dim retVal As Integer
Dim objSFO As Object
Dim cookieFile As Object
'クッキー保存フォルダパス取得
cookieFolder = String(MAX_PATH, vbNullChar)
retVal = SHGetFolderPath(0, CSIDL_COOKIES, 0, 0, cookieFolder)
If retVal = S_OK Then
cookieFolder = Left(cookieFolder, InStr(1, cookieFolder, Chr(0)) - 1)
Set objSFO = CreateObject("Scripting.fileSystemObject")
label01:
For Each cookieFile In objSFO.GetFolder(cookieFolder).Files
'拡張子がtxtであればファイルを削除
If objSFO.GetExtensionName(cookieFile) = "txt" Then
cookieFile.Delete
End If
Next
End If
If InStr(cookieFolder, "Low") = 0 And modeType = 1 Then
cookieFolder = cookieFolder & "\Low"
GoTo label01
End If
End Sub
引数名 | データ型 | 内容 | 値の事例 | 初期値 | 省略 |
---|---|---|---|---|---|
modeType | Integer | 保護モードのクッキー削除の有無 | 0,1 | 0 | ● |
引数は任意項目となります。
「modeType」には、保護モードのクッキーも削除するかのチェックに利用するタイプを入力します。
保護モードのクッキーについては、IEのクッキー削除「cookiesDel」の解説をご確認ください。