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

解決済みの質問

【VB6】EXCELセーブ:既に存在していたら自動で数字つけてセーブさせたい

お世話になっております。

VB6(visual basic 6)プログラムからEXCELのブックをパスを指定してセーブする際、既にその指定のパスのファイルが存在していた場合、に自動的に接尾辞をつけてセーブしたいです。

パスc:\aru_path.xlsでセーブしたいとき、もしすでにc:\aru_path.xlsが存在していた場合、
c:\aru_path_1.xlsとかc:\aru_path(1).xlsのように自動で末尾に数字がつくようにしたいです。
そのとき、
oApp.ActiveWorkbook.DisplayAlerts = False
とか手段は何でも良いのですが、自動運転の途中での事なので、自動的に処理が進む意味で、メッセージが出て中断しないようにしたいです。

EXCEL:EXCEL 2000
OS: win XP

以下にターゲットの中核部分を切り出しました。

---
Dim oApp As Object
Set oApp = CreateObject("Excel.Application")
oApp.Workbooks.Add

oApp.ActiveWorkbook.SaveAs "c:\aru_path.xls" '指定のパスで保存

---

ファイルが存在しているがどうかを調べるルーチンがわかればよいかと思い調べましたが分かりませんでした。

どうぞよろしくお願いいたします。

投稿日時 - 2004-09-30 15:56:09

QNo.1023144

すぐに回答ほしいです

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

VBならばDir関数でファイルの存在は確認できますよ。

Dir("[ファイルのフルパス]") でファイルが存在すればファイル名が
存在しなければ空文字列が返ってきますので

If Dir("[ファイルパス]") = VbNullString Then
'ファイルが存在しない場合の処理
Else
'ファイルが存在する場合の処理
End If

で分岐できると思われます。

投稿日時 - 2004-09-30 16:11:36

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

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

回答(2)

ANo.1

>ファイルが存在しているがどうかを調べるルーチンがわかればよいかと思い調べましたが分かりませんでした。

Dir関数

投稿日時 - 2004-09-30 16:10:54

あなたにオススメの質問