プロが教える店舗&オフィスのセキュリティ対策術

VBAでキャッシュを削除したいのですが
http://dobon.net/vb/bbs/log3-27/15894.html
を見ると、

Sub test()
Dim HistoryStg As IUrlHistoryStg2
Set HistoryStg = New UrlHistory
HistoryStg.ClearHistory
Set HistoryStg = Nothing
End Sub

で行けそうな気がするのですが、
IUrlHistoryStg2の変数の宣言の仕方がわかりません。

Dim HistoryStg As Object
にすると、
New UrlHistory
の部分がコンパイルエラーになってしまいます。

Dim HistoryStg As UUID
でもダメでした。

ご教授よろしくお願いします。

A 回答 (1件)

参考にされているページはVB.NETというVBAとは違う言語なので


ExcelVBAでは動作しないのではないでしょうか。
OfficeTanakaのページにVBAでIEのキャッシュを削除するプログラムの、参考になるページが
あったので新しく作ってみました。
私の環境でキャッシュの内容をちゃんと取得できることを確認できたので、試してみてください。


Option Explicit

Sub Sample1()
Dim Shell As Object, CashFolder As Object, FSO As Object
Dim Folder As Object, File As Object

Set FSO = CreateObject("Scripting.FileSystemObject")
Set Shell = CreateObject("Shell.Application")
Set CashFolder = Shell.Namespace(&H20)
''キャッシュフォルダのパスを取得する
For Each Folder In FSO.GetFolder(CashFolder.Self.Path & "\Content.IE5").SubFolders
For Each File In Folder.Files
''キャッシュフォルダ内のファイルを削除する
FSO.DeleteFile File
Next File
Next Folder
Set CashFolder = Nothing
Set Shell = Nothing
Set FSO = Nothing

End Sub

参考URL:http://officetanaka.net/excel/vba/filesystemobje …

この回答への補足

一度質問分を締め切らせていただきます。ありがとうございました。

補足日時:2012/12/09 16:43
    • good
    • 0
この回答へのお礼

言語が違うから駄目だったのですか。
わざわざ私の為に作っていただいてありがとうございます。

そのまま貼り付けて実行したら、
書き込みできません。(Error 70)
というエラーになったので、
On Error Resume Next
を付け加えました。

キャッシュの確認は
C:\Users\○○\AppData\Local\Microsoft\Windows\Temporary Internet Files
のフォルダをみればいいんですよね?

実行前が5260個で実行後は5281個になりました。
ということは、21個しか削除されてないようです・・・
なぜでしょうかね?

お礼日時:2012/12/09 00:09

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!