![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e6f04cf)
No.3ベストアンサー
- 回答日時:
No.2です。
一応ゴミプロ書いて確認してみたんですが、以下を投げるだけでも全部なくなりました。Sub KillMDB()
Dim sVBScript As String
sVBScript = Left(CurrentDb.Name, Len(CurrentDb.Name) - InStr(1, StrReverse(CurrentDb.Name), "\", vbTextCompare) + 1) & "Killer.vbs"
Close
Open sVBScript For Output As #1
Print #1, "On Error Resume Next"
Print #1, "Dim acApp, fso"
Print #1, "Set acApp = GetObject(, ""Access.Application"")"
Print #1, "acApp.Quit"
Print #1, "Set acApp = Nothing"
Print #1, "Set fso = CreateObject(""Scripting.FileSystemObject"")"
Print #1, "fso.DeleteFile """ & CurrentDb.Name & """, True"
Print #1, "fso.DeleteFile """ & sVBScript & """, True"
Print #1, "Set fso = Nothing"
Close #1
rc& = Shell("CScript " & sVBScript, vbHide)
End Sub
No.2
- 回答日時:
自殺マクロはExcelだと可能ですが、Accessでは聞いたことがありません。
仮にないとすると、No.1さんの書かれているように外から削除させるしかないのですが、以下の方法なら痕跡なく削除できるかもしれません。
1)Accessには「閉じるときに同じフォルダにあるvbsファイルがあれば削除する」というイベントマクロを仕込んでおく
2)更新正常終了時に、Accessから以下の内容のvbsファイルを同じフォルダに出力する
「今開いているAccessをGetObjectして閉じてから、削除する」
3)AccessからShellでvbsを実行する
vbs実行中でもvbsファイルは削除できますから、お互いを削除しあって最後はなくなるというやり方です。
Excelだとうまく消えますが、Accessで実際に試してはいないです。
No.1
- 回答日時:
> 正常に処理が終了した場合、その実行したmdbファイルごと削除
すみません、「実行したmdbファイルごと」の意味を取り切れていないので、
場合分けして回答させて戴きます。
1)『更新処理を行う「aaa.mdb」、更新の対象「bbb.xxx」、更新により複製される
「ccc.xxx」の3つのファイルがあって、削除するのは「bbb.xxx」』の場合
(または、「bbb.xxx」は直接更新され、「ccc.xxx」は作成されない場合):
更新処理が終了して、「bbb.xxx」の参照などを一切行っていない状態なら、
「Kill」などで削除できます。
http://www.tsware.jp/tips/tips_303.htm
http://www.tsware.jp/tips/tips_113.htm
2)『ファイルの構成は上記の3つがあり、「bbb.xxx」と同時に「aaa.mdb」
も削除する』の場合:
実行中のmdbファイルは削除できないと思いますので(多分(汗))、「aaa.mdb」
によって「aaa.mdb」自体を削除することはできません。
「aaa.mdb」を削除したい場合は、それを削除するための「ddd.mdb」を作り、
更新処理の最後にそれを起動させるしかないと思います。
なお、「aaa.mdb」が確実に終了されている状態にするため、FormのTimer
イベントを利用するなどして、起動してから実際に削除を行うまでの間に
タイムラグを生じさせる必要があります。
・・・この場合、「ddd.mdb」は削除できずに残ります(汗)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PowerPoint(パワーポイント) エクセルのマクロについて教えてください。 1 2022/03/25 17:03
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/06 17:46
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2022/10/04 10:48
- Excel(エクセル) Excelのマクロについてご教授ください 2 2023/02/25 09:43
- PowerPoint(パワーポイント) エクセルのマクロについて教えてください。 2 2022/11/18 15:34
- C言語・C++・C# C#の2つの実行ファイルとアプリアイコンの変更について 1 2023/01/07 16:57
- Visual Basic(VBA) エクセルVBA コードが同じでもファイルによって処理速度が大きく変わるのはなぜ 5 2022/11/06 21:34
- その他(ソフトウェア) 特定のpremiere proのファイルが開けなくなりました。 1 2022/11/16 12:31
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/10 11:34
- Visual Basic(VBA) 複数のcsvファイルをExcelに一括変換したい 2 2023/03/03 12:44
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PCのHDの空きを増やすために,O...
-
macのストレージ 削除している...
-
フォルダ内のファイルは削除せ...
-
フォルダ内のファイルを外に出す
-
Media PlayerをUSBへ書込み方法
-
現在使用中の壁紙のファイルの...
-
更新していないのにフォルダの...
-
スマホの「写真&動画」を一挙に...
-
m4aをmp3に変換する windows me...
-
m4aの音楽ファイルを、普通のC...
-
PowerPointのみ、開くファイル...
-
SDカードからPCにコピーできない。
-
フォルダをクリックすると最大...
-
ダウンロード時のファイルの種...
-
Illustratorのデータの復元の方法
-
取り込んだ音楽をmp3に変換...
-
レンタルCDをUSBにダビン...
-
iMacアプリを外付けSSDへ簡単移...
-
OUTLOOKでメールを隠すには
-
デスクトップにamcapという名前...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
macのストレージ 削除している...
-
PCのHDの空きを増やすために,O...
-
CドライブのWINDOWSフ...
-
「このファイルを削除すると危...
-
処理終了後に実行したmdbファイ...
-
Excelファイルを開くのにいつも...
-
切り取りと削除の違い
-
メールの「削除済みアイテム」...
-
ごみ箱が壊れてしまいました
-
MPEGファイルの削除エラーについて
-
肥大化したOEのpop3.logファイ...
-
Cドライブの容量を増やすには??
-
ファイルが削除できない
-
IEで動画サイトを見ていると、...
-
素人です。教えてください。メ...
-
iTunes内プレイリストの曲を削...
-
デスクトップ画面のアイコンが...
-
フォルダ内のファイルは削除せ...
-
更新していないのにフォルダの...
-
フォルダ内のファイルを外に出す
おすすめ情報