こんにちわ。
Excel VBAで「自動でIEを起動してyahooを表示」するマクロを作成しています。
質問ですが、IEオブジェクトを作成したタイミングでCookieなどを削除するには、どのようにすればよろしいしょうか?
※IEの[インターネットオプション] - [全般]タブ - [閲覧の履歴]にある削除(全削除)と同じ処理を実装したいです。
--------------------------------------------------
Dim oIe As Object
Set oIe = CreateObject("InternetExplorer.Application")
' ★ここで削除したい
oIe.Visible = True
oIe.Navigate "http://www.yahoo.co.jp/"
--------------------------------------------------
お忙しいところ大変申し訳ありませんが、ご教授をお願い致します。
以上です。
++++++++++++++++++++
【環境】
OS:WinXP 以上
ブラウザ:IE7 以上
Excel:Excel2007 以上
++++++++++++++++++++
No.2ベストアンサー
- 回答日時:
1.ここを基本に
'http://vbaie.blog111.fc2.com/blog-entry-21.html
2.Vista以降であれば、下記を参考に
'http://stackoverflow.com/questions/5624599/how-t …
※定数とか構造体の不足があるので、Web検索して探して下さい。
3.上記のバージョン判断の関数が動かないので、安直に別の解を探して
'http://homepage1.nifty.com/rucio/main/Samples/Sa …
Windows7, 64bitのCookieのフォルダーは下記の通りでした
C:\Users\???????\AppData\Roaming\Microsoft\Windows\Cookies
と、長々と書きましたが、Shellを用いる方が簡単な様です
http://gallery.technet.microsoft.com/scriptcente …
Cookieを消すところは未検証ですが、ご参考まで。
mitarashi 様
お忙しい中、ご教授いただきありがとうございます。
1.をWinXPで確認しましたが、問題なくCookieのtxtファイルを削除することができました。
本当に助かりました。
ありがとうございます。
No.3
- 回答日時:
#2です。
使用しているAPIに興味があったので、2を動くようにしてみました。Windows7Home, 64bitでしか試しておりません。英語なのでよく分かりませんが、Copyrightは大丈夫っぽいので。
Private Const CSIDL_COOKIES = &H21
Private Const MAX_PATH = 260
Private Const SHGFP_TYPE_CURRENT As Long = &H0
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
Private Declare Function SHGetSpecialFolderLocation Lib "shell32.dll" (ByVal hwndOwner As Long, ByVal nFolder As Long, pidl As ITEMIDLIST) As Long
Private Declare Function SHGetPathFromIDList Lib "shell32.dll" Alias "SHGetPathFromIDListA" (ByVal pidl As Long, ByVal pszPath As String) As Long
Private Declare Function GetVersionEx Lib "kernel32" Alias "GetVersionExA" (VersionInfo As OSVERSIONINFO) As Boolean
Private Type SHITEMID
cb As Long
abID As Byte
End Type
Private Type ITEMIDLIST
mkid As SHITEMID
End Type
Private Type OSVERSIONINFO
dwOSVersionInfoSize As Long
dwMajorVersion As Long
dwMinorVersion As Long
dwBuildNumber As Long
dwPlatformId As Long
szCSDVersion(127) As Byte
End Type
Sub deleteAllCookies()
Dim cookieFolder As String
Dim fso As Object
Dim cookieFile As Object
cookieFolder = SHGetFolderPathVB(CSIDL_COOKIES)
Set fso = CreateObject("Scripting.fileSystemObject")
For Each cookieFile In fso.GetFolder(cookieFolder).Files
If fso.GetExtensionName(cookieFile) = "txt" Then
Debug.Print cookieFile.Name
' cookieFile.Delete
End If
Next
End Sub
Private Function SHGetSpecialFolderLocationVB(ByVal lFolder As Long) As String
Dim lRet As Long, IDL As ITEMIDLIST, sPath As String
lRet = SHGetSpecialFolderLocation(100&, lFolder, IDL)
If lRet = 0 Then
sPath = String$(512, Chr$(0))
lRet = SHGetPathFromIDList(ByVal IDL.mkid.cb, ByVal sPath)
SHGetSpecialFolderLocationVB = Left$(sPath, InStr(sPath, Chr$(0)) - 1)
Else
SHGetSpecialFolderLocationVB = vbNullString
End If
End Function
Private Function SHGetFolderPathVB(ByVal lFolder As Long) As String
Dim path As String
If IsVistaOrHigher() Then
SHGetFolderPathVB = SHGetSpecialFolderLocationVB(lFolder)
Else
path = Space$(MAX_PATH)
SHGetFolderPath 0, lFolder, 0, SHGFP_TYPE_CURRENT, path
SHGetFolderPathVB = Left(path, InStr(path, vbNullChar) - 1)
End If
End Function
'Vista~8はdwMajorVersion = 6, dwMinorVersion = 0, 1, 2と増
Private Function IsVistaOrHigher() As Boolean
Dim osinfo As OSVERSIONINFO
Dim retvalue As Integer
Dim bVista As Boolean
Dim i As Long
bVista = False
osinfo.dwOSVersionInfoSize = 148
For i = 0 To 127
osinfo.szCSDVersion(i) = &H20
Next i
retvalue = GetVersionEx(osinfo)
If osinfo.dwPlatformId = 2 Then
If osinfo.dwMajorVersion >= 6 Then
bVista = True
End If
End If
IsVistaOrHigher = bVista
End Function
mitarashi 様
改めてありがとうございます。
今回は時間の都合上、WinXPに特定したマクロにするので、回答No.2でご教授いただいた1.を参考にさせていただきます。
今後、WinXPでもWinVistaやWin7でも動作できるようにする予定ですので、その際は今回ご教授いただいた内容を参考にさせていただきます。
本当にありがとうございました。
No.1
- 回答日時:
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
会社貸与のPCでエロサイトを...
-
学校のwi-fiを使ってるんですが...
-
【VBA】IEのCookieなどの削除方法
-
「名前を付けて保存」でのファ...
-
インターネットの履歴の削除の仕方
-
エクセルのハイパーリンク→ブラ...
-
PASMOやSuicaは、所属している...
-
パワーポイントですが、文字が...
-
Google Chrome の同期が必ず一...
-
LINEのトーク履歴を わざわざこ...
-
スマホで検索していたら、警告!...
-
Hサイトを見てるのってばれる...
-
履歴と覆歴と復歴の違いを教え...
-
学校のパソコンで閲覧履歴を消...
-
Yahooのログイン制限について
-
Yahoo! JAPAN 覚えがないのに急...
-
「秘密キーの保護を強力にする...
-
ネカフェにあるPCにある履歴等...
-
クロネコヤマト お問い合わせ...
-
タスクスケジューラから30分に...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
学校のwi-fiを使ってるんですが...
-
会社貸与のPCでエロサイトを...
-
ノートPCを会社に返却するとき...
-
グーグルアースの検索履歴の見...
-
MSNホームページのウェブ検索履...
-
エクセルのハイパーリンク→ブラ...
-
ネットで閲覧した履歴を完全に...
-
Googleでの閲覧履歴削除につい...
-
何でなの?
-
検索履歴の削除
-
検索履歴の消去の仕方について
-
履歴を残したいのですが
-
グーグルのIE上の検索履歴について
-
アクセスログを残さない方法
-
会社へパソコンを返却する場合...
-
Hなサイトの履歴、形跡の消し方。
-
アダルトサイトを見た後、気を...
-
SBI証券に繋がらないのですが
-
Yahooオークションの画像だけ表...
-
一発でIEのCookieを消す方法は...
おすすめ情報