
エクセル保存終了で一時ファイルが残ってしまう。
職場でExcel2003+VBAを利用しています。(自宅ではExcel2002+VBAです)
不特定多数の人が利用している職場で、保存終了後に、拡張子なし英数字名の一時ファイルが残ってしまう場合があります。
理由はファイルが1M以上あり、保存に時間がかかります。砂時計表示中に再度、終了操作をしてしまい、重複して終了処理させてしまう為と思われます。
重複終了操作対策は色々試みています。
(対策案は以前、この場で質問させて頂いています)
消えずに残ってしまった一時ファイルは、私が手作業で削除しています。
VBA等で自動削除する方法はありましたら教えて頂きたくお願いします。
No.2ベストアンサー
- 回答日時:
>..保存に時間がかかります。
砂時計表示中に再度、終了操作をしてしまい、>重複して終了処理させてしまう..
この認識には少し疑問があります。保存処理中にはユーザー操作は受け付けてくれないはず。
それに、一時ファイルではありますが、実際に変更が反映されているのはこのファイルです。
『Excel のファイル保存方法について』
http://support.microsoft.com/kb/814068/ja
その一時ファイルが残る状況の時、何かエラーメッセージが出てないのでしょうか。
発生直後に居合わせる事ができたら、
元ファイルに変更が反映しているか確認してみたほうが良いと思います。
#古いファイルは削除してしまって構わないとは思いますが。
参考。
『ネットワーク ドライブにファイルを保存する際に "変更を保存できませんでした" というエラー メッセージが表示される』
http://support.microsoft.com/kb/813973/ja
削除権限が無いユーザーの利用時に発生しているのかもしれません。
もしくはウイルス対策ソフトの影響だったり。
回答を頂いた日にお礼のご返事をしましたが、どうも登録ミスがあった様なので再投稿します。
色々貴重な情報をありがとうございます。
>..保存に時間がかかります。砂時計表示中に再度、終了操作をしてしまい、
>重複して終了処理させてしまう..
↓の様になります。
(1)終了保存操作(Xボタン押す、保存Yes)すると、砂時計が表示されます。
この間は、当然ながらマウス入力は効きません。
保存で10秒以上かかります。
(2)この砂時計表示の時には、カレントフォルダに一時ファイルが生成されます。
(3)砂時計が消えた直後に、再度、終了のXボタン操作すると、
砂時計が再表示されて、「この要求は受け付けられませんでした」のメッセージが
表示されます。(一瞬、VBAで作成したフォーム部分が真っ白になります)
(4)砂時計は消えますが、一時ファイルが残ったままになります。
(5)「エラーを送信しますか」のメッセージが表示されます。
>削除権限が無いユーザーの利用時に発生しているのかもしれません。
>もしくはウイルス対策ソフトの影響だったり。
職場PCに業務用として、このVBA付きエクセルシートを入れたのが8年程前です。
職場PCにウィルスバスタが導入されたのが、5年程前。(自宅PCも同様)
バスター導入後かとも感じています。
職場及び自宅PCの主メモリは256MBです。
ウィルスバスタ2009を自宅で導入する時に、「メモリが足りません。続けますか」みたいなメッセージはありました。
他に、VBAでセルデータのシートコピーすると、一部コピーが出来ない事があります。(現象は一定)
これはコピーの順番を変えると出来たりする場合があります。
メモリが足りないのも原因の一つでしょうね。
とりあえずステタスバーに保存中メッセージを表示させて、この間のマウス操作をしない様にと喚起しようかと思っています。
No.1
- 回答日時:
>拡張子なし英数字名の一時ファイルの有るフォルダはどうなんでしょうね?
フォルダ名は一定で、かつ、フォルダの中のファイルは全て削除しても問題ないなら
Kill ステートメントはワイルドカードが使えますので kill \\server\are\*.* で消せないかな?
拡張子が無いファイルを全て消してよいなら、getextensionnameは拡張子が分からなければ
""(長さ0の文字列が返される)のでこれを元にKillしてみては?
Sub test()
Const trgDir = "C:\" '適宜変更を
Dim trgFile As String
Dim objFS As Object
Set objFS = CreateObject("Scripting.FileSystemObject")
trgFile = Dir(trgDir, vbNormal)
Do While trgFile <> ""
Debug.Print trgFile & "→" & objFS.getextensionname(trgFile)
trgFile = Dir
Loop
End Sub
ファイルが使用中の場合には当然エラーが発生しますので、On Error ステートメントで調整してください。
これを適当なイベントから呼び出せばよろしいかと。
末尾ながら、一時ファイルを消して対処するのは『臭い物にフタ』のようで・・・。
一時ファイルが出来ない仕組みが出来るといいですね。
追伸
サーバー上のファイルは通常の場合、消すと元に戻せませんのでバックアップは取ってから。
もしくは適当な試験フォルダ・ファイルを作ってからにしてください。
早速のご返事ありがとうございます。
そうですね。他に妙案がない時は、getextensionnameで拡張子がないファイルを探す方法を参考にさせて頂きたく思います。
この回答を読んだ後に、ふっと思ったのですが、
プログラムファイル(.xls)格納フォルダーに一時ファイルが生成されるのがネックですね。
ツール(T)→オプション(O)→全般に、カレントフォルダ名(D)がありますが、ここは参照されていませんね。
起動フォルダに一時ファイルが作られる様ですね。
一時ファイルが、指定した作業ファイルに作られる様に設定出来れば、少しは気が楽になるのですが、模索しています。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Windows 10 windowsの回復ドライブや復元ポイントを使用した場合の戻る位置を教えてください。 5 2023/08/19 14:52
- Excel(エクセル) Excelのマクロについてご教授ください 2 2023/02/25 09:43
- Visual Basic(VBA) 複数のcsvファイルをExcelに一括変換したい 2 2023/03/03 12:44
- PowerPoint(パワーポイント) エクセルのマクロについて教えてください。 1 2022/03/25 17:03
- Excel(エクセル) Excel VBAどこが間違ってますか? 4 2023/07/17 10:04
- Excel(エクセル) PDFファイルに日付を名前にして保存したい。 エクセル2019でワークシートに請求書のフォームを作り 2 2023/05/27 11:13
- Visual Basic(VBA) エクセルVBA コードが同じでもファイルによって処理速度が大きく変わるのはなぜ 5 2022/11/06 21:34
- その他(Microsoft Office) windows10で作業を終了する際の「保存しますか はい いいえ」を表示させずに自動で保存する方法 6 2023/03/15 11:29
- その他(クラウドサービス・オンラインストレージ) Onedriveで実現したい事。2台のPC間で。 2 2023/04/10 20:42
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/06 17:46
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
彼女の過去の恋愛に嫉妬してし...
-
CSVファイルの特定行の削除
-
Excel: ファイル名になぜ、[...
-
mediaplayerの取り込みフォルダ...
-
ファイルが移動してもリンクの...
-
FTPのgetとputの使いわけ。
-
[Unity]シーンファイルの中が消...
-
CSVファイルの暗号化
-
エクセルのマクロについて教え...
-
このファイルは外部のエディタ...
-
エクセルのファイル:「自分」が...
-
5000個のtiffファイルをpdfへ変...
-
VBSでフォルダ内の最新のファイ...
-
htmlファイルを結合して一つの...
-
シェルでテキストファイルを半...
-
保存の仕方を教えてください。。
-
File.delete()にてファイルを削...
-
あるマクロを起動し、その際に...
-
File::delete失敗時のテスト方法
-
デスクトップ画面に「◯◯まであ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
CSVファイルの特定行の削除
-
彼女の過去の恋愛に嫉妬してし...
-
Excel: ファイル名になぜ、[...
-
エクセルのファイル:「自分」が...
-
ファイルが移動してもリンクの...
-
iCloud for Windowsをアンイン...
-
EXCELVBAにて文字列にして「01...
-
WINDOWS CMDからゴミ箱のファ...
-
vbsからのExcelマクロ呼び出し...
-
[Unity]シーンファイルの中が消...
-
5000個のtiffファイルをpdfへ変...
-
複数のExcelファイルにある同名...
-
このファイルは外部のエディタ...
-
batでファイル名を変更したい(...
-
フォルダ内の複数のファイルの...
-
docxをmht形式で保存したファイ...
-
FTPのgetとputの使いわけ。
-
Googleドライブについて
-
VBA ファイル一覧を取得して全...
-
エクセル保存終了で一時ファイ...
おすすめ情報