こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

アクセスVBAでのファイル操作

他人の作成したプログラムの修正を依頼され困っています。

アクセスVBAを使用してエクセルファイルを作成するプログラムなのですが
同じ名前のファイルがあると誤動作するみたいなので、ファイルの有無を検知して
先にファイルがあるときは削除を行いたいのです。


エクセル作成部のプログラムを見ると、以下のようになっています
  xlsObj.DisplayAlerts = False
xlsObj.ActiveWorkbook.SaveAs fileName:="エクセル用_" + Format$(Now(), "yyyy_mm_dd")+ ".xls"
xlsObj.Quit
この命令でマイドキュメントに作成されるみたいです。


作成するパソコンが何台もあり、
ファイル削除の命令の kill (”C:\Documents and Settings\(任意)\My Documents ~
任意の部分をどう表現すればよいかわかりません。

わかる方いらっしゃいましたら御回答をお願いいたします。

kill 命令を使用しない別回答でもかまいません。

投稿日時 - 2011-07-06 11:32:27

QNo.6857740

すぐに回答ほしいです

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

>(”C:\Documents and Settings\(任意)・・・・・
environ("UserProfile") や
environ("HomeDrive")
environ("HomePath")
で途中までは得られると思います。
環境変数はOS毎に増えていってますので、WindowsXPなら
マイ コンピュータを右クリックして、詳細設定タブの中の環境変数か
コマンドプロンプトの Set で確認できます。

ファイルの有無は、Dir 関数で確認できます。

Killステートメントはゴミ箱に移動せずに消えてしまいますが
下記リンク先ではAPIを使用してゴミ箱への移動が紹介されています。
http://vbatech.seesaa.net/article/128511536.html

投稿日時 - 2011-07-06 16:49:27

お礼

ありがとうございました。早速利用させていただきます。

投稿日時 - 2011-07-07 08:54:20

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

素直に

xlsObj.DisplayAlerts = False

を消して、ダイアログを出せばいいだけのような気がする・・・。
http://www.happy2-island.com/excelsmile/smile03/capter00304.shtml

だって既存ファイルは「消しちゃだめ」なことだってあるでしょ?

投稿日時 - 2011-07-06 11:59:58

お礼

素早い御回答ありがとうございます。

ダイアログを出す方法も一理あるのですが、一連の動作を
ボタンひとつで行いたいのです。

また、既存ファイルは「全て消してしまっても良い」という使用者からいわれてます。(すみません文章の中に入れてなくて・・・)

ですので、もしあるなら別方法を教えていただければ助かります。

御回答ありがとうございました

投稿日時 - 2011-07-06 12:49:29

あなたにオススメの質問