
お世話になっております。
VB6(visual basic 6)プログラムからファイルをパスを指定してセーブする際、既にその指定のパスのファイルが存在していた場合、に自動的に数字をつけてセーブしたいです。
パス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
なお、ファイルが存在しているがどうかを調べる方法は知っております。(Dir関数でファイルの存在確認)
知りたいのは、windowsの機能(?)などで自動で
パス末尾にaru_path(1),aru_path(2),aru_path(3)...と付くようにして保存させたいということです。
言い換えれば、末尾数字が今いくつかをプログラム上保持しておきたくないということです。
もし万が一そういうことができないのであれば、別のことを考えるようにしますので教えてください!
ちなみにWINDOWSの機能にあるのかなと勝手に想像した理由:同じフォルダで、ファイル選択&コピペすると、自動で「コピー~。。。」と保存してくれる。
どうぞよろしくお願いいたします。
No.3ベストアンサー
- 回答日時:
>知りたいのは、windowsの機能(?)などで自動で
>パス末尾にaru_path(1),aru_path(2),aru_path(3)...と付くようにして保存させたいということです。
>言い換えれば、末尾数字が今いくつかをプログラム上保持しておきたくないということです。
Windowsにはそのような機能が無いので、
下記のような関数を作れば番号付けが出来ます。
変数宣言などは省略しているので、適当に補ってください。
また、ファイル存在確認()とファイル保存()も適当な関数に置き換えてください。
FilePath = "c:\hogehoge\"
FilePure = "piyopiyo"
' 最大99までの通番に対応する。
For no = 0 to 99
If no = 0 Then
FileName = FilePath & FilePure & ".xls"
Else
FileName = FilePath & FilePure & "_" & Cstr(no) & ".xls"
End If
If ファイル存在確認(FileName) Then
' ファイルが存在しない場合は保存して終了する。
Call ファイル保存(FileName)
Exit Sub
End If
Next no
MsgBox "既に100個のファイルが有るので保存中止"
No.2
- 回答日時:
> 自動で「コピー~。
。。」と保存してくれる。こちらはエクスプローラの機能ですね。
コマンドプロンプト、エクスプローラ以外のファイラでは無条件に上書きされたり、「上書きしますか?(はい/いいえ)」が出たりのファイラ固有の動作になります。
--
エクスプローラが、
> (Dir関数でファイルの存在確認)
のような事をやって、同名のファイルがあれば、
> 「コピー~。。。」と保存してくれる。
って事をしているのではないでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBAでの共有パスにつきまして 1 2023/03/04 17:24
- Excel(エクセル) [クイックアクセスツールバー]の設定ファイルの格納場所について、 5 2023/04/21 14:43
- Excel(エクセル) 【困っています】VBA 追加処理の記述を教えてください。 1 2022/08/25 22:54
- Excel(エクセル) 【VBA】フォルダAにある2つのファイルの内1つを、フォルダBへ。もう1つを、フォルダBへ移動したい 6 2022/07/26 08:51
- Excel(エクセル) Excelファイルをダウロードして編集した後、自身のパソコンに保存する際 2 2022/12/21 17:05
- その他(Microsoft Office) マクロVBAについて 1 2022/09/06 18:12
- Visual Basic(VBA) 【前回の続き続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/24 20:49
- Visual Basic(VBA) ファイル名の右側を変更したい ファイル名:「1001日別売上」の左側へ「2022」を追加し、「202 6 2022/10/14 10:03
- Excel(エクセル) フォルダAから1つのファイルだけを、フォルダBへを移動するVBAについて 2 2022/07/25 11:45
- Visual Basic(VBA) エクセルのマクロを使ってメールを送る方法について教えてください 2 2022/03/29 01:36
関連するカテゴリから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 ファイル一覧を取得して全...
-
エクセル保存終了で一時ファイ...
おすすめ情報