タイトルの件、やりたい事は
●1つの原本ファイルを
●名前を明日の日付にして
●3つのフォルダ【あ、い、う】へコピーしたいです
各フォルダパスは下記のとおりです。
1つのファイルを、名前を変更して、別フォルダに
コピーするコードは分かりました。
名前は、明日の日付の名前にしたいです。
今回事例ですと、本日12月30日とし、ファイル名前は
明日の日付⇒20221231 とししたいです。
ご存じの方、いらっしゃいましたら、ご指南
宜しくお願い致します。
【動くコードです】⇒1つの原本ファイルを1つのあフォルダにコピーは出来ます
Sub ファイルコピ()
FileCopy "C:\Users\2020\Desktop\実験\あ.xlsx", "C:\Users\2020\Desktop\実験\あ\20221231.xlsx"
End Sub
【要件】
実行する日付:20221230
⇒1つのファイルを3つのフォルダへ明日の日付に名前を変更して
ファイルコピーしたいです
【原本ファイル】
C:\Users\2020\Desktop\実験\原本.xlsm
【あフォルダ】
C:\Users\2020\Desktop\実験\あ\20221231.xlsm
【いフォルダ】
C:\Users\2020\Desktop\実験\い\20221231.xlsm
【うフォルダ】
C:\Users\2020\Desktop\実験\う\20221231.xlsm
No.2ベストアンサー
- 回答日時:
> 【動くコードです】⇒1つの原本ファイルを1つのあフォルダにコピーは出来ます
日付が固定だから、今日の日付から明日の日付を作成するようにしたい?
手元にExcel無くて確認できないけど、
Dim dt as Date
Dim fn as String
' 今日の日付
dt = Now()
' 明日の日付に変更
dt = dt + 1
' ファイル名を生成
fn = Format(dt, "yyyymmdd") & ".xlsm"
' ファイルコピー
FileCopy "C:\Users\2020\Desktop\実験\あ.xlsx", "C:\Users\2020\Desktop\実験\あ\" & fn
FileCopy "C:\Users\2020\Desktop\実験\あ.xlsx", "C:\Users\2020\Desktop\実験\い\" & fn
FileCopy "C:\Users\2020\Desktop\実験\あ.xlsx", "C:\Users\2020\Desktop\実験\う\" & fn
とか。
ありがとうございます。やりたかった事ができました。
ちなみに
2回実行すると→すでに同じファイルがあります みたいな
メッセージをだせませんでしょうか。
今は、同じファイルや上書きはされずに、何も
表示されません
No.5
- 回答日時:
こんにちは
ほぼ解決に近いと思いますが・・疑問があるのでコメントをします
初めに謝ります 水を差すような回答でごめんなさい
暗黙の共通認識がないと成立しないような気がして・・
FileCopy "C:\Users\2020\Desktop\実験\あ.xlsx", "C:\Users\2020\Desktop\実験\あ\20221231.xlsx"
出来ました・・・これは理解できます(マクロ実行ブックでないから)
>やりたかった事ができました。
腑に落ちないのですが・・・考えすぎかな?
【要件】にある出力ファイルは.xlsmです
と言う事はどのファイルが元ファイルなのでしょう?
もし、あ.xlsxならば.xlsmにする必要が無いように思います(理由があるかも知れません)
原本.xlsmでしょうか? もし原本.xlsmとなると
VBA実行ブックを原本.xlsmにすることは出来ませんので
(FileCopyは開いているファイルを対象に出来ないはず)
他のVBAブックが必要になりますね
とすると元ファイルの存在確認なども必要になりますね・・
元ファイルを作成する等で対応も出来るけど要件にないからどうか・・
もちろん行先ファイルの同名チェックもそうですがね
開いているファイルをFileCopyできたら記憶違いなので忘れてください
まあ、出来ているとの事なのでやっぱり考えすぎですね
実験でしょうから良いのですが、
回答や参考・解説サイトでは判り難くなるので定数を使っていますが
実務的なコードを考えると出来るだけ 不特定(変更される可能性の高い)
名前などを定数にする事はあまり賛成できないです
だって、変わる度にマクロを書き直す事になるので‥
なので、定数にするならコード内で判り易くConst宣言するとか
シートセルを活用して参照するとか、変数としてCreateObjectなどで取得するのが良いと思います(なんとなく記憶して頂ければ、すぐに使えなくなるVBAを書かなく済む可能性が上がると思います)
すみません 長文になってしまいました
No.4
- 回答日時:
>2回実行すると→すでに同じファイルがあります みたいな
>メッセージをだせませんでしょうか。
そのメッセージを表示したした後、どのようにされたいのでしょうか。
①そのファイルのコピーをスキップし、次のファイルのコピーを行う。
②そのファイルのコピーを行う。(ファイルは上書きされる)
③処理を打ち切る。(そのファイルも、以降のファイルもコピーされない)
等が考えられます。
No.3
- 回答日時:
No1です。
>2回実行すると→すでに同じファイルがあります みたいな
>メッセージをだせませんでしょうか。
ファイルコピーする前に、保存先のファイルが既に存在しているかをチェックすれば可能です。
ファイルの存在はDIR関数を利用すれば、チェックできます。
https://learn.microsoft.com/ja-jp/office/vba/lan …
ファイルのパスは基本的に文字列ですので、コピー元やコピー先を変えたい場合には、文字列計算でパスを作成することで、実際の内容を変えることも可能です。
例えば、変数 SourceFile, DestFile にそれぞれコピー元、コピー先のフルパスが入っているとして、
FileCopy SourceFile, DestFile
を実行すれば、その時の変数の内容に応じた処理がされることになります。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 1つのファイルを複数のフォルダにファイル名を【明日の日付】にして、コピーしたい 5 2022/12/13 04:23
- Excel(エクセル) 1つのファイルを3つのフォルダにファイル名を【明日の日付】にして、コピーをしたい 2 2022/12/21 17:43
- Excel(エクセル) 【VBAファイル移動】2つのマクロを順に実行。1つ目のマクロが実行不可⇒2つ目が実行不可となる件 2 2022/07/29 12:17
- Visual Basic(VBA) エクセルのマクロについて教えてください。 3 2023/07/01 12:54
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/07/02 11:48
- Excel(エクセル) 【VBA】フォルダAにある2つのファイルの内1つを、フォルダBへ。もう1つを、フォルダBへ移動したい 6 2022/07/26 08:51
- Excel(エクセル) 【マクロ】ファイルを古い順に、1個ずつ移動する 1 2022/09/06 20:30
- Excel(エクセル) 【マクロ】【VBA】同じフォルダ内にあるエクセルのデータを転記したい【ブック1からブック2へ】 9 2023/08/10 07:51
- Excel(エクセル) フォルダAから1つのファイルだけを、フォルダBへを移動するVBAについて 2 2022/07/25 11:45
- Excel(エクセル) 【マクロ】フォルダAからダBへファイルを、ファイルの更新日時の条件で、1つづつ移動するには? 3 2022/08/25 09:56
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
大量のフォルダからひとつのフ...
-
バッチファイルでサーバーのフ...
-
パソコンのフォルダー内のファ...
-
Thunderbirdで社内共有フォルダ...
-
binフォルダーとは?
-
一太郎がイントラで開けません...
-
ビルダーを使ってますがパソコ...
-
一括でフォルダと同じ名前にフ...
-
コマンドプロンプトでフォルダ...
-
win10の「フォト」で、「次へ」...
-
ファイルのサイズを0にする or ...
-
MRI画像のCDR 家のパソコンで...
-
xrecodeで変換後にフォルダを作...
-
コマンドプロンプトでアクセス...
-
PCのアプリケーションを別のPC...
-
特定フォルダ内のファイルを自...
-
ImgBurnでの書き込み時
-
勝手にフォルダができる
-
1つのファイルを複数のフォルダ...
-
HPビルダーを使って二つ目のホ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
大量のフォルダからひとつのフ...
-
パソコンのフォルダー内のファ...
-
Thunderbirdで社内共有フォルダ...
-
binフォルダーとは?
-
バッチファイルでサーバーのフ...
-
PCのアプリケーションを別のPC...
-
ファイルのサイズを0にする or ...
-
一括でフォルダと同じ名前にフ...
-
コマンドプロンプトでフォルダ...
-
EXCELファイルの拡張子変更につ...
-
win10の「フォト」で、「次へ」...
-
一太郎がイントラで開けません...
-
virualboxで仮想マシンフォルダ...
-
ビルダーを使ってますがパソコ...
-
特定フォルダ内のファイルを自...
-
「ファイルがオープンできませ...
-
Teraterm scprecvの上書き確認...
-
leeyesでファイルの読み込みが...
-
同名のフォルダを検索・削除したい
-
チームズのチャット画面にファ...
おすすめ情報