
【やりたい事】
PDFファイルを自動作成、保管するコードを、本サイトの指導を頂きながら
作りました。今は、決まったフォルダにしか保管は出来ません。
※コードは以下記参照
作成されるファイルは下記のように、日付が先頭に不可されます。
同PDFを
1番なら、フォルダの1番へ保管
2番なら、フォルダの2番へ保管
のうように選択して、自動で各フォルダへ保管できるコードを作りたいです。
作成された、PDFの日付にしたがって、月ごとのフォルダへ保管したいというイメージです
ご存じの方、今したら教えて下さい
【マクロにて作成されるPDF】
1番⇒20230716 鈴木さん みかん.pdf
2番⇒20230816 鈴木さん みかん.pdf
【既に作成されているフォルダ】
1番⇒7月
2番⇒8月
3番⇒9月
【コード:動きます】
Sub 先頭に日付付加ファイルをPDF出力()
Dim fileName As String
Dim TargetName As String
TargetName = Format(Date, "yyyymmdd")
fileName = "C:\Users\Owner\Desktop\月ごとフォルダ\7月\" & TargetName & " " & Worksheets("入力シート").Range("A1") & "さん" & " " & Range("A2") & ".pdf"
Sheets("Sheet1").ExportAsFixedFormat Type:=xlTypePDF, fileName:=fileName 'sheet1をPDF出力
End Sub
No.4ベストアンサー
- 回答日時:
No.2です。
>参考に以下、コード作りました。が、動きませんでした。
>誤りコードあれば教えて下さい。
私が回答に書いたコードをそのまま使ってもよかったのですが、きちんと理解するために「m月」という変数を使って、ここに月から導かれるフォルダ名を格納するという方法をおとりになったのだと思いいます。
そこまではよかったのでが、「変数名」と「文字列」の使い分けができていません。filename = "C:\Users\Owner\・・・・のコードに誤りがあります。
あくまでも「m月」は変数名ですので、正しいコードは
fileName = "C:\Users\Owner\Desktop\月ごとフォルダ\" & m月 & "\" & TargetName & " " & Worksheets("入力シート").Range("A1") & "さん" & " " & Range("A2") & ".pdf"
です。
素早い回答ならびに1~10まで
指導ありがとうございます。
文字列としての変数の為
普通の文字列と同じように
アンドにて、つなげるんですね
ターゲットネームっていう変数も
同じ要領にてつなげているのに
気付きました
認識違っていればご指導下さい
いつもご指導ありがとうございます
No.3
- 回答日時:
No1です。
>他の保存してあったファイルまで、消えたり、
>上書きされたりはしませんでしょうか???
同じファイル名で出力すれば、当然のことながら上書きされます。
VBAの構文等での通常のエラーの範囲であれば、消えることはないと思います。
アドバイスありがとうございます。
参考に以下、コード作りました。が、動きませんでした。
誤りコードあれば教えて下さい。
Sub 先頭に日付付加ファイルをPDF出力()
Dim fileName As String
Dim TargetName As String
Dim m月 As String
TargetName = Format(Date, "yyyymmdd")
m月 = Format(Date, "m月")
fileName = "C:\Users\Owner\Desktop\月ごとフォルダ\ m月 \" & TargetName & " " & Worksheets("入力シート").Range("A1") & "さん" & " " & Range("A2") & ".pdf"
Sheets("Sheet1").ExportAsFixedFormat Type:=xlTypePDF, fileName:=fileName 'sheet1をPDF出力
End Sub
No.2
- 回答日時:
>1番なら、フォルダの1番へ保管
>2番なら、フォルダの2番へ保管
という説明ですが、何が、あるいはどこが1番なのでしょうか?
(1)PDFファイルのファイル名の先頭に日付が付加され、1番、2番という「番号」が何かまたはどこかにあるらしいこと
(2)フォルダは7月,8月,9月の3つが既に作成済みであり、こちらも1番、2番、3番という「番号」が何かまたはどこかにあるらしいこと
は理解できますが、1番、2番・・・という番号と、ファイル、フォルダの関係性が説明されていません。
No.1さんの回答のように、ファイル名の「月」とフォルダ名の「月」を一致させて保存するということなら、保存するパス名をNo.1さんの回答に沿って、Format(Date, "m月")で取得して、保存するファイルのパスを変更すればよいので、fileName =・・・・・・のコードを
fileName = "C:\Users\Owner\Desktop\月ごとフォルダ\" & Format(Date, "m月") & "\" & TargetName & " " & Worksheets("入力シート").Range("A1") & "さん" & " " & Range("A2") & ".pdf"
に修正すればよいだけです。
説明不足でよく判らない「番号」は無視して、回答してしまいましたが、上記処理には、1番、2番は何処にも登場しません。
仮に、上記の処理がご質問者が知りたいことだとすると、ご質問者の説明に何故、1番、2番・・・が登場するのか全く判りません。
1~10まで丁寧にアドバイスありがとうございます。
参考に以下、コード作りました。が、動きませんでした。
誤りコードあれば教えて下さい。
Sub 先頭に日付付加ファイルをPDF出力()
Dim fileName As String
Dim TargetName As String
Dim m月 As String
TargetName = Format(Date, "yyyymmdd")
m月 = Format(Date, "m月")
fileName = "C:\Users\Owner\Desktop\月ごとフォルダ\ m月 \" & TargetName & " " & Worksheets("入力シート").Range("A1") & "さん" & " " & Range("A2") & ".pdf"
Sheets("Sheet1").ExportAsFixedFormat Type:=xlTypePDF, fileName:=fileName 'sheet1をPDF出力
End Sub
No.1
- 回答日時:
こんにちは
私にはご質問の文章がよく理解できないので、勝手に以下と解釈してみました。
「実行する際の日付に応じて、保存フォルダを「〇月」と月別に分けたい」
(月の数値は、1、2・・・10、11、12で前ゼロではない)
もしも、それでよいのなら、日付を附しているのと同様に、
Format(Date, "m月")
で、「〇月」の文字列を得ることができますので、ご提示の
> ~\月ごとフォルダ\7月\~
と固定で指定しているパスの「〇月」の部分に入るようにすれば宜しいのではないでしょうか?
※ 意味が違う場合は、スルーしてください。
回答ありがとうございます
早速、作ってみます
なお、例えば8月フォルダには既に
PDFが、沢山、保存されているのですが
このマクロがエラーでたり失敗した
際に、他の保存してあったファイルまで、消えたり、上書きされたりは
しませんでしょうか???
なお、当たり前ですが、質問の
責任は全てこちらにありますので
気軽に答えて欲しいです
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/07/02 11:48
- Visual Basic(VBA) エクセルのマクロについて教えてください 物件ごとのフォルダを作成してます そのフォルダ内にサブフォル 2 2023/07/02 17:58
- Visual Basic(VBA) エクセルのマクロについて教えてください。 3 2023/07/01 12:54
- Excel(エクセル) エクセル2019でPDFファイル名に枝番号をつけたい。 アクティブワークシートを印刷した後の処理とし 4 2023/06/06 21:00
- Excel(エクセル) 【VBA】PDF出力に任意のファイル名前を付ける方法 3 2023/07/21 10:55
- Excel(エクセル) PDFファイルに日付を名前にして保存したい。 エクセル2019でワークシートに請求書のフォームを作り 2 2023/05/27 11:13
- Visual Basic(VBA) VBA 請求書自動作成 3 2022/04/24 01:58
- Excel(エクセル) エクセルVBA、間違っているコード内容を正して頂けませんか? エクセルワークシートに納品書を作ったの 2 2023/08/02 21:13
- Excel(エクセル) エクセルVBA、ファイル名をセルの値で保存の方法を教えてください。 おそれいります。こちらで数々のエ 6 2023/06/30 22:17
- Excel(エクセル) エクセルのマクロについて教えてください。 2 2023/02/21 13:29
このQ&Aを見た人はこんなQ&Aも見ています
-
マクロボタンを押すと、ファイル名を“日付(年月日)_文字.xlsx”にして指定ファイルに保存したいの
Excel(エクセル)
-
エクセル マクロ 名前を付けて保存 PDF保存先指定 ファイル名任意+日付
Excel(エクセル)
-
日付を入力したセルをファイル名にして保存するには
Excel(エクセル)
-
-
4
エクセルVBA:毎月名前が変わるエクセルファイルを毎月異なるフォルダから開く
その他(コンピューター・テクノロジー)
-
5
B列の最終行までA列をオートフィル
Visual Basic(VBA)
-
6
【VBA】PDF出力に任意のファイル名前を付ける方法
Excel(エクセル)
-
7
ファイル名を今日の日付、時刻で保存する
Visual Basic(VBA)
-
8
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
9
エクセルVBAでセルに入力したパスでブックを開く
Excel(エクセル)
-
10
【VBA】マクロの入ったファイルと同じフォルダに,出力したファイルを保存するコードについて
Visual Basic(VBA)
-
11
EXCELで日付を自動でファイル名にしたい
Excel(エクセル)
-
12
マクロ VBA ファイル名を連番でつけたいのですが
Access(アクセス)
-
13
VBAでメモ帳にコピペをしたいのですが…
PowerPoint(パワーポイント)
-
14
【Excel VBA】ファイル名が一定でないファイルの指定方法
Excel(エクセル)
-
15
エクセルマクロで不特定なファイル名を使用するには
Excel(エクセル)
-
16
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
17
有無、要否、賛否、是非、可否、当否…これらの言葉について
その他(教育・科学・学問)
-
18
エクセルで指定したセルのどれかに○がはいっていたら○を表示したいです。
その他(コンピューター・テクノロジー)
-
19
EXCELのVBAでシートコピーをしたとき元のマクロを削除するには?
Excel(エクセル)
-
20
VBA(エクセル)で自動的にボタンをクリックさせるには
その他(プログラミング・Web制作)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Windows10でコマンドプロンプト...
-
C ファイル出力で、フォルダが...
-
空のフォルダの判定
-
VB.NRT FolderBrowserDialogを...
-
クラウドにあるフォルダを共有...
-
META-INFフォルダの置き場所に...
-
Javaでフォルダ複数階層のZipフ...
-
VB6.0 FileListBoxでフォルダ表示
-
ディレクトリ名変更してコピー...
-
Excelvbaでブックをコピー名前...
-
ファイル名と同名のフォルダを...
-
Access VBA で フォルダ権限...
-
エクセルのデータをメモ帳に貼...
-
フォルダの中身がカラか調べる
-
ファイルとフォルダのどちらも...
-
VB6 CommonDialog フォルダ上書...
-
Pythonの作業環境・作業フォル...
-
SHBrowseforfolderについて質問...
-
VBでフォルダをパスワードでロ...
-
あるフォルダーのファイルを違...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Windows10でコマンドプロンプト...
-
会社のネットワーク上のファイ...
-
パス名に2バイト文字(マルチバ...
-
デスクトップの画像をhtmlに表...
-
【マクロ】ファイル名の日付に...
-
C ファイル出力で、フォルダが...
-
ファイル名と同名のフォルダを...
-
Excelのハイパーリンクについて...
-
VBA 最新のフォルダ取得
-
Excelで指定したフォルダに保存...
-
VBAでファイル名を指定して保存...
-
Access VBA で フォルダ権限...
-
サーバ内のフォルダ名と各フォ...
-
excelマクロ 冒頭3文字が一致す...
-
VBA フォルダ名に特定の文字を...
-
カレントフォルダって?
-
Excel VBA マクロ フォルダ名を...
-
VBA フォルダの複数選択ができない
-
ExcelVBAでフォルダへのハイパ...
-
ExcelのVBAでフォルダ指定がで...
おすすめ情報