エクセル保存終了後に残る一時ファイルの自動削除について

このQ&Aのポイント
  • エクセル保存終了後に残る一時ファイルの問題に悩んでいます。特に職場での利用時に頻繁に発生します。一時ファイルの原因はファイルが1M以上あり、保存に時間がかかることです。時間がかかっている最中に何度か終了処理をしてしまい、一時ファイルが残ってしまいます。
  • 一時ファイルが残ってしまうことは混乱を招きますし、手動で削除する手間もかかります。そこで、VBAや他の方法で一時ファイルを自動的に削除する方法について情報を求めています。職場で使用しているExcelのバージョンは2003で、自宅では2002を使用しています。
  • 一時ファイルの自動削除ができれば、作業効率の向上につながると考えています。職場での利用は不特定多数の人が行うため、重複して終了処理を行い、一時ファイルが残ってしまう問題は深刻です。解決策や有効な方法があれば、教えていただけると幸いです。
回答を見る
  • ベストアンサー

エクセル保存終了で一時ファイルが残ってしまう。

エクセル保存終了で一時ファイルが残ってしまう。 職場でExcel2003+VBAを利用しています。(自宅ではExcel2002+VBAです) 不特定多数の人が利用している職場で、保存終了後に、拡張子なし英数字名の一時ファイルが残ってしまう場合があります。 理由はファイルが1M以上あり、保存に時間がかかります。砂時計表示中に再度、終了操作をしてしまい、重複して終了処理させてしまう為と思われます。 重複終了操作対策は色々試みています。 (対策案は以前、この場で質問させて頂いています) 消えずに残ってしまった一時ファイルは、私が手作業で削除しています。 VBA等で自動削除する方法はありましたら教えて頂きたくお願いします。

  • tt246
  • お礼率91% (116/127)

質問者が選んだベストアンサー

  • ベストアンサー
  • end-u
  • ベストアンサー率79% (496/625)
回答No.2

>..保存に時間がかかります。砂時計表示中に再度、終了操作をしてしまい、 >重複して終了処理させてしまう.. この認識には少し疑問があります。保存処理中にはユーザー操作は受け付けてくれないはず。 それに、一時ファイルではありますが、実際に変更が反映されているのはこのファイルです。 『Excel のファイル保存方法について』 http://support.microsoft.com/kb/814068/ja その一時ファイルが残る状況の時、何かエラーメッセージが出てないのでしょうか。 発生直後に居合わせる事ができたら、 元ファイルに変更が反映しているか確認してみたほうが良いと思います。 #古いファイルは削除してしまって構わないとは思いますが。 参考。 『ネットワーク ドライブにファイルを保存する際に "変更を保存できませんでした" というエラー メッセージが表示される』 http://support.microsoft.com/kb/813973/ja 削除権限が無いユーザーの利用時に発生しているのかもしれません。 もしくはウイルス対策ソフトの影響だったり。

tt246
質問者

お礼

回答を頂いた日にお礼のご返事をしましたが、どうも登録ミスがあった様なので再投稿します。 色々貴重な情報をありがとうございます。 >..保存に時間がかかります。砂時計表示中に再度、終了操作をしてしまい、 >重複して終了処理させてしまう.. ↓の様になります。 (1)終了保存操作(Xボタン押す、保存Yes)すると、砂時計が表示されます。  この間は、当然ながらマウス入力は効きません。  保存で10秒以上かかります。 (2)この砂時計表示の時には、カレントフォルダに一時ファイルが生成されます。 (3)砂時計が消えた直後に、再度、終了のXボタン操作すると、  砂時計が再表示されて、「この要求は受け付けられませんでした」のメッセージが  表示されます。(一瞬、VBAで作成したフォーム部分が真っ白になります) (4)砂時計は消えますが、一時ファイルが残ったままになります。 (5)「エラーを送信しますか」のメッセージが表示されます。 >削除権限が無いユーザーの利用時に発生しているのかもしれません。 >もしくはウイルス対策ソフトの影響だったり。 職場PCに業務用として、このVBA付きエクセルシートを入れたのが8年程前です。 職場PCにウィルスバスタが導入されたのが、5年程前。(自宅PCも同様) バスター導入後かとも感じています。 職場及び自宅PCの主メモリは256MBです。 ウィルスバスタ2009を自宅で導入する時に、「メモリが足りません。続けますか」みたいなメッセージはありました。 他に、VBAでセルデータのシートコピーすると、一部コピーが出来ない事があります。(現象は一定) これはコピーの順番を変えると出来たりする場合があります。 メモリが足りないのも原因の一つでしょうね。 とりあえずステタスバーに保存中メッセージを表示させて、この間のマウス操作をしない様にと喚起しようかと思っています。

その他の回答 (1)

  • nicotinism
  • ベストアンサー率70% (1019/1452)
回答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 ステートメントで調整してください。 これを適当なイベントから呼び出せばよろしいかと。 末尾ながら、一時ファイルを消して対処するのは『臭い物にフタ』のようで・・・。 一時ファイルが出来ない仕組みが出来るといいですね。 追伸 サーバー上のファイルは通常の場合、消すと元に戻せませんのでバックアップは取ってから。 もしくは適当な試験フォルダ・ファイルを作ってからにしてください。

tt246
質問者

お礼

早速のご返事ありがとうございます。 そうですね。他に妙案がない時は、getextensionnameで拡張子がないファイルを探す方法を参考にさせて頂きたく思います。 この回答を読んだ後に、ふっと思ったのですが、 プログラムファイル(.xls)格納フォルダーに一時ファイルが生成されるのがネックですね。 ツール(T)→オプション(O)→全般に、カレントフォルダ名(D)がありますが、ここは参照されていませんね。 起動フォルダに一時ファイルが作られる様ですね。 一時ファイルが、指定した作業ファイルに作られる様に設定出来れば、少しは気が楽になるのですが、模索しています。

関連するQ&A

  • エクセル保存終了時間が長い為の問題

    お世話になっています。 ExcelVBAで作成したファイルを職場で多数の人に使用してもらっています。 開発の都度、ファイルサイズが増えて1.5Mバイト近くになり、 保存終了すると1秒以上かかる様になりました。 職場の人から見ると、この間は砂時計が表示され、画面のフォーム部分が真っ白になったりするので、この終了中にXボタンを押して二重に終了処理操作されてしまう事があります。 そうするとHDにスクラップファイルが出来て、タイミングによってはExellファイルが壊れる(0バイトになる)事もあります。 終了処理中の別の終了処理要求を受け付けない等の対策がありましたら、教えて頂きたくよろしくお願いします。

  • エクセル保存出来ない様にするには。

    エクセル保存出来ない様にするには。 お世話になります。 自宅でExcel2002VBA、職場でExcel2003VBAを使用しています。 職場で原紙ファイルに書き込み保存してしまう人がいる為、その対策として ボタンを設けて読取専用モードで、原紙ファイルを開く手順にしています。 Workbooks.Open Filename:=totoFullName, ReadOnly:=True 確かに上書き保存は出来ませんが、名前を変えて保存しますかメッセージが表示され保存可能な状態になってしまいます。 名前を変えて保存を含め、全ての保存が出来ない用にする方法がありましたら 教えて頂きたくよろしくお願いします。

  • EXCELファイルをコピーすると終了する

    あるEXCELファイルが、コピーするとEXCELが終了してしまうようになりました。 そのファイルには複数シートがあり、図形やグラフなどが貼りついているものです。どのシートでは起こります。 セル選択をし「コピー」や「切り取り」をすると砂時計になった後エラーメッセージなく終了します。 他のブックにシートコピーしても改善されません。 また、そのブック内のシートをすべて削除して新しくシートを作成しても同じです。 作り直しするのは大変なためこのファイルを継続使用したいのですがコピーできないと非常に不便で困っています。 回避策などありましたら教えていただきたいと思います。 EXCEL2000を使用しています。また違うパソコンでも同じ現象になります。

  • エクセルを終了するとファイルが勝手に保存されるのは何故?

    Excel2000を使用しています。ある時からエクセルのファイルを終了すると.xlsとは別にデスクトップ上にテンプレートファイルが出来てします。拡張子.TMPです。 自動保存の設定にはなっていないはずなのですが、終了するたびにファイルが増えて困っています。

  • エクセルのファイルが開けません

    エクセル(2000)で作成した文書を上書き保存した後に閉じるをクリックしたところ、ポインタが砂時計に変わったままいつまで経ってもファイルが閉じませんでした。ctrl+alt+delで強制終了し再起動したのちにファイルを開こうとしたら「開いています・・・」という表示と砂時計が出た状態が続きファイルが開けません。どうしたらよろしいでしょうか。

  • マクロExcel2003日付を付けてファイルを保存

    Excel2003でマクロを利用して、日付を付けた形でファイルを保存するようにしたいです。 条件としては、 (1)ファイルをz:\に「【ここに日付を八桁で保存】File1.xls」とする 例えば、20111127File1.xls (2)上書きする場合も、確認をせずに強制的に保存 (3)保存が終わったら、強制的にExcel2003を終了する という具合に書きたいです。 マクロの保存でやってみてわかっている所まで書きました。 Sub SaveEnd() ActiveWorkbook.SaveAs Filename:="Z:\【????】file1.xls", FileFormat:=xlNormal   【上書き保存で、確認をしない】   【Excel2003の強制終了】 End Sub どのように調べれば良いかも含めて、ご指導をいただければ幸いです。

  • 強制終了するExcelファイルの救済

    VBAや画像をいっぱい使ったExcelファイルを使って仕事をしていました。 追加で、別のVBAを使ったファイルのシートをコピーしたところ、VBAでエラーコメントは出たのですが、そのまま保存すると、その後2度と開かなくなってしまいました。開く途中でExcelの強制終了となってしまいます。「VBAマクロを開かない」として開こうとしても同じです。もちろん、他のExcelファイルは開きます。直前のファイルをバックアップを取っておけばよかったのですが、後の祭りです。 以前にも、VBAマクロをたくさん使った重いファイルが、途中で開けなくなった事が数度あります。 今回は諦めきれないので、何とか救済する方法があれば是非教えて下さい。

  • ファイルの削除

    カテゴリーがここでいいのかわからないのですが、よろしくお願いいたします 画像を保存するときに、ビットマップになってしまう場合 ファイルの削除をするといいとここで知ったのですが、それがなかなか終わりません ずっと砂時計が出たまま・・・・ かれこれ30分もたつので、もういいやとあきらめて終了させちゃたのですが・・・ そのあとは何のことはない普通にGIFなどで保存できるようになりました またそのあとビットマップになったときに、ファイルの削除をしたのですが、やはり終わりません 毎回なので疑問です ちゃんと終了させるにはどうしたらいいでしょうか? 毎回キャンセルで終わらせても問題はないのでしょうか? よろしくお願いします

  • EXCEL2002で保存せずに終了できません

    EXCEL2002で行削除等内容をいじった後、変更されたファイルを破棄して、元のファイルを残そうとしても、「ファイルは変更されています。保存しますか」のダイアログすら出ず、いきなりBOOKを閉じて上書き保存されてしまいます。再度開いてみると、変更されたBOOKが出てきます。どこで設定すれば保存せずに終了出来るのでしょうか。教えて下さい。

  • ファイルの保存

    メールでMS-エクセルの表計算などが送られてきて、保存する時「ファイル」から「名前をつけて保存」を押すと「保存先」が必ず「ローカルディスクC」のContent,IE5のところが開きその中の英数字が並んだ一番先のところに保存しようと開きます。 英数字がXMVYYYMKやSW8XWOJ3などと作った覚えのないところが必ず表示されます。 保存先を「D」などに直し保存しているのですが、たまに名前をつけて保存→保存先を見ずにOKを押すと英数字のところに保存され、その保存先を探してもどこにもありません。 保存先がなぜ英数字の作った覚えのないところが出るのか?わかる方いましたらお教え願います。 Content,IE5を削除しようとしたら必要なプログラムのため削除できませんと出ます。winXPです。

専門家に質問してみよう