IEのクッキーを削除する(Windows XP)

IEのクッキーを削除するサンプルコードです。標準モジュールに以下のコードを追加して、IEDeleteAllCookies関数を実行します。

IEDeleteAllCookies関数を実行すると、ローカルに保存してあるIEのクッキーがすべて削除されます。Windows XPで動作確認済みです。Windows Vista以上では、また別の方法が必要です。

サンプルコード

【動作確認日】2014年2月11日
【動作確認環境】Windows XP SP3・Excel 2007・Internet Explorer 8

解説

IEDeleteAllCookies関数の中では、まずクッキーが保存されているフォルダのパスをSHGetFolderPathで取得しています。

SHGetFolderPathはWindowsのAPIなので、IEDeleteAllCookies関数の定義の上にAPI宣言を記述しています。

参考URL:Windows システム フォルダーを取得する (VB6.0)

Windows XPの場合、クッキーの実体が保存されているのは「C:Documents and Settingsユーザ名Cookies」フォルダです(隠しディレクトリなのでデフォルトの設定では表示されません)。

そして取得したフォルダの中を検索し、拡張子がtxtのファイルをすべて削除します。クッキーの実体はテキストファイルなので、拡張子がtxtのファイルをDeleteメソッドで削除しています。

補足ですが、このIEDeleteAllCookies関数で削除しているのはクッキーの「実体」です。一時ファイルなどを保存しているTemporary Internet Filesフォルダには、クッキーの「ポインタ」がまだ残っています。

参考URL:Temporary Internet Files フォルダを空にしても Cookie ファイルが残る(Microsoft)

スポンサーリンク