• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:【ExcelVBA】IEの一時ファイルと履歴の削除)

【ExcelVBA】IEの一時ファイルと履歴の削除

米沢 栄蔵(@YON56)の回答

回答No.2

私が使っているマクロを書きます。 参考にして下さい。 Dim AAA, BBB, CCC Set AAA = CreateObject("Shell.Application") Set BBB = AAA.Namespace(32).Items 'インターネット一時ファイル For Each CCC In BBB CCC.Delete Next Set BBB = AAA.Namespace(33).Items '履歴 For Each CCC In BBB If CCC.Name<>"index" Then CCC.Delete End If Next Set AAA = Nothing Set BBB = Nothing

h_hogehoge
質問者

お礼

返事が遅くなり申し訳ありません。 今回は mitarashi 様の方法で解決しました。 ご教授いただき、本当にありがとうございました。

関連するQ&A

  • あるフォルダ内のすべての.xlsファイルを開いて印刷

    お世話になります。 エクセルVBAの質問です。 あるフォルダを指定して、その中のファイルを順番に開いて印刷したいと思っていますが、どのように記述したらよいのでしょうか。 下記、いろいろなところから引っ張ってきたのをつないだコードです。 すみませんが、ご教授願います。 Dim ShellApp As Object Dim oFolder As Object Dim targetFolderName As String Dim Xlname As String, Dpath As String, Opn As Integer Dim Fnd As Boolean Set ShellApp = CreateObject("Shell.Application") Set oFolder = ShellApp.BrowseForFolder(0, "フォルダ選択", 1) If oFolder Is Nothing Then Exit Sub End If targetFolderName = oFolder.items.Item.Path Dpath = "targetFolderName" Xlname = Dir(Dpath & "*.xls") Do While Xlname <> "" Opn = 0 Do Fnd = False For Each file_name In Windows If file_name.Caption = Xlname Then Fnd = True Exit For End If Next If Not Fnd Then If Opn = 1 Then Exit Do Workbooks.Open Filename:=Dpath & Xlname Opn = 1 End If ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True Loop Xlname = Dir() Loop

  • VBAでのフォルダ指定方法について

    EXCELファイルが保存されているディレクトリ配下のフォルダーを指定できるようにしたくていろいろ試してみたのですが、うまくいきません。 どなたか、お知恵をお貸しください。 以下ソースです。 Private Sub CommandButton1_Click() Dim ShellApp As Object Dim oFolder As Object Dim MyPath As String MyPath = ActiveWorkbook.Path Set ShellApp = CreateObject("Shell.Application") Set oFolder = ShellApp.BrowseForFolder(0, "処理ファイルの格納フォルダ選択", 1, MyPath) If Not oFolder Is Nothing Then TextBox1.Value = oFolder.Items.Item.Path End If Set ShellApp = Nothing Set oFolder = Nothing End Sub

  • IEの一時ファイル削除について 6.0

    IEのツール、オプションでインターネット一時ファイルを削除するというのを定期的にしていますが、そもそも、削除するまでもなく、最初からそこにcookieがたまらない様に設定するような方法か、たまっても、自動的に削除されるような設定方法はないものでしょうか? ウィルス検索ソフトで検索するたびに、問題のないcookieをスパイウェアとして検出してしまうので、わずらわしいためと、一時ファイル削除に時間がかかる、(砂時計で30秒以上またされる)のがわずらわしいので、なんとかできないかと考えています。わかるかたいらしたら、よろしくおねがいします。

  • 画像ファイル名をパス付きで表示

    Sub Test2() Dim objFSO As Object Dim sPath As String, sSubFol As String, sFileName As String Dim nRow As Long, nCol As Long Set objFSO = CreateObject("Scripting.FileSystemObject") sPath = "C:\Users\Owner\Downloads\base\setting_000002016\" nRow = 2 sSubFol = Cells(nRow, 1).Text Do While sSubFol <> "" nCol = 11 sFileName = Dir(sPath & sSubFol & "\*.jpg") If objFSO.FileExists(sPath & sSubFol & "\" & sSubFol & ".jpg") Then nCol = 12 Else nCol = 11 End If Do While sFileName <> "" If sFileName = sSubFol & ".jpg" Then Cells(nRow, 11) = sFileName Else Cells(nRow, nCol) = sFileName nCol = nCol + 1 End If sFileName = Dir() Loop nRow = nRow + 1 sSubFol = Cells(nRow, 1).Text Loop Set objFSO = Nothing End Sub こちらは商品番号とサブフォルダの名前が一致したらフォルダ内のファイル名を抽出するというマクロですが、これをパス付で表示という動作をするにはどこをいじればよろしいでしょうか?

  • Thunderbirdでファイル添付出来ません

    Excel請求書から出力したPDFファイルをメールソフトのThunderbirdでメールに添付して送信したいのですが、 添付ファイルのパスが間違っているのか「***.pdfファイルが存在しないためメッセージに添付できませんでした。」とエラーになってしまいます。 PDFファイル出力は問題無く出来ており、メール自体は作成できるところまでは出来ているのですが、肝心のファイル添付が出来なくて困っております、どなたかお助け願えませんでしょうか。 ※PDFファイルの保存場所は任意に選択⇒ファイル名は顧客名で都度出力される形になってます。 Sub PDF出力メール送信テスト用() Dim fname As String Dim pdfname1 As String Dim pdfname2 As String Dim rtn As Long Dim wsh As Object If MsgBox("PDFをメール送信する場合はOK、送信しない、または間違ってこのボタンをクリックした場合はキャンセルをクリックしてください。", vbOKCancel) = vbCancel Then End End If 'pdfname1は会社名、pdfname2は部署名、両方足して『顧客名.pdf』になるようにしています pdfname1 = Range("a4").Text pdfname2 = Range("a5").Text '保存ファイル名及び保存場所の設定 fname = Application.GetSaveAsFilename("【御請求書】" & pdfname1 & " " & pdfname2 & " 御中", "PDFファイル,*.pdf") 'キャンセルボタン押下時 If fname = "False" Then Exit Sub 'ファイルの存在確認 If Dir(fname) <> "" Then rtn = MsgBox(fname & " が存在します。上書きしますか?", vbOKCancel + vbQuestion, "確認") 'キャンセルボタン押下時 If rtn = vbCancel Then Exit Sub End If '印刷順にシートを並び替え Worksheets("請求書").Move Before:=Worksheets("請求書ひな形") Worksheets("請求書").Select Worksheets("請求書ひな形").Select False Worksheets("請求書ひな形").Activate ' 請求書PDF出力 ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=fname MsgBox fname & " 出力完了" '元通りにシートを並び替え Worksheets("請求書ひな形").Move Before:=Worksheets("請求書") Worksheets("請求書ひな形").Select Dim sPath As String Dim mailTo As String Dim subject As String Dim preface As String Dim mailBody As String Dim attachPath As String sPath = """C:\Program Files (x86)\Mozilla Thunderbird\thunderbird.exe"" -compose " '送信先アドレスはExcelのx1セルに反映 mailTo = Range("x1").Value subject = "御請求書の送付について" preface = pdfname1 & pdfname2 & " 御中" & vbNewLine & vbNewLine & "いつもお世話になります。" & vbNewLine & "御請求書をお送り致しますのでご確認下さい。" & vbNewLine & vbNewLine & "以上、宜しくお願い致します。" mailBody = preface '添付ファイルのパスはfnameではダメなんでしょうか? attachPath = fname Shell sPath & "to=" & mailTo & ",subject=" & subject & ",body=" & mailBody & "," & "attachment=" & attachPath End Sub

  • ファイル削除について

    ファイル削除について C:\temp\111-001-会計.txt C:\temp\111-001-人事.txt C:\temp\111-001-総務.txt C:\temp\111-001-販売.txt このようなファイルがあったとします これをワイルドカードを使って"111-001*" というファイル全てを削除するプログ]ラムを 教えてください ちなみにディレクトリは相対パスで指定できる ようにしたいです 自分でも作成してみたのですが ファイルのあいまい検索ができず困っているところです また1件しか削除できないのでfor文か何かで回すのかなといった感じです Public Sub DeleteFile(ByVal folder As String, ByVal searchPattern As String) Dim stFileName As String = System.IO.Path.GetFileName(folder + searchPattern) If System.IO.File.Exists(folder + searchPattern) Then System.IO.File.Delete(folder + searchPattern) MessageBox.Show("ファイルを削除しました") End If End Sub

  • デスクトップ上のCSVファイルの削除について

    いつもお世話になっております。 VBAでまた難問に詰まってしまいました。ご教授お願い致します。 別のフォルダに保存されているマクロを利用して、とあるデータを作成するのですが 途中でデスクトップ上に一回保存をしたCSVファイルを最後に削除する という動きをさせたいです。 下記のマクロだと、マクロとCSVファイルがデスクトップ上にあれば削除出来るのですが マクロは常にとあるフォルダに保管されており、使用する人間はバラバラです。 ※CSVファイルの他に3種類程データを作成するのですが  マクロを使った人が使っているPCのデスクトップ上に保管する事になっております。  上記の事から、Killステートメントでファイル指定が出来ない状態(不特定のデスクトップ)です。   Sub test() Dim myPath As String Dim i As String myPath = ThisWorkbook.Path & "\" i = "テストデータ.csv" If InStr(i, ".csv") = 0 Then i = i & ".csv" If Dir(myPath & i) <> "" Then Kill myPath & i Else End If End Sub 不特定のデスクトップ上にあるcsvファイルを削除する事は可能でしょうか? 以上、宜しくお願い致します。 環境 WindowsXP Excel2003

  • 完全な履歴の削除をしたい

    ネット(インターネットエクスプローラー)で完全な履歴の削除をしたいのですが、履歴→表示→サイトを表示した回数順にすると、履歴をクリックした時にでる、フォルダを右クリックして、削除をしたのに、サイトの表示がされてしまい、完全に削除されていないので、完全に消したいのですが、どうしたらよいのでしょうか? ツールボタン→インターネットオプション→履歴のクリヤを押してもです。  また、同じところに、インターネット一時的ファイルと項目もあり、そのcookieの削除とあるのですが、cookieとは何でしょうか?cookie削除をすると何が変化するのでしょうか?その隣の、ファイルの削除と何が違うのでしょうか?  無知ですみませんが教えて下さい。

  • 別フォルダに保存してあるテキストファイルを重複して強制保存したい

    別フォルダに保存してあるテキストファイルを重複して強制保存したいのですが、 Sub wsave() '書き出し後の保存 Dim myOldName As String Dim myNewName As String Sheets("AAA").Range("B2").Select If Selection = "" Then Exit Sub Else myOldName = Sheets("AAA").Range("H11") & "HPlist.txt" '変更元ファイル myNewName = Sheets("AAA").Range("H11") & Range("H16") '変更後のファイル名    If Len(Dir(myOldName)) > 0 Then Application.DisplayAlerts = False Name myOldName As myNewName Application.DisplayAlerts = True    End If End If   Application.Quit End Sub このままではエラー「既に同名のファイルが存在しています」と成り保存されないのです。 どなたかよい方法を教えていただけませんでしょうか?

  • VBAでファイルを消したい

    こんばんわ! VBAでエクセルファイルをバックアップしながら使用しているのですが、10個以上ファイルが溜まったら一番古いものを消したいです。 途中まではできているのですが、古いファイルを選択する方法が分かりませんToT 途中までのソースを乗せますので、アドバイスの程よろしくお願いいたします。 ================== Private Sub backup_bot_Click() Dim Path As String, WSH As Variant Dim fc As Long Dim fn As String 'マイドキュメントにバックアップ Set WSH = CreateObject("WScript.Shell") Path = WSH.SpecialFolders("MyDocuments") & "\test" If Dir(Path, vbDirectory) = "" Then MkDir (Path) End If 'ファイルコピー FileCopy "c:test_date\aaa.xls", Path & "\aaa" & Format(Now, "yyyymmdd") & ".xls" 'ファイル数確認 fn = Dir(Path & "\aaa*.xls") Do While fn <> "" fc = fc + 1 fn = Dir() Loop '10件以上消去 If fc > 10 Then 'ここが分かりません! End If End Sub ================== あ~ちなみにoffice2003エクセルを使用しています。 XP以降のOSで動かしたいです!