[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『マクロでファイル名を指定して保存したい』(ぱるる)
エクセル表で、毎週提出しなければいけない報告書があります。
ファイル名には、規則性があり頭に毎週月曜日の日付が入ります。
例:20171023報告書【氏名】.xlsx
ファイル保存とすると自動で、例のような感じのファイル名で自動で保存される方法が知りたいです。
< 使用 Excel:Excel2013、使用 OS:Windows7 >
Dim TargetPath As String
Dim myFname As String
Application.DisplayAlerts = False myFname = Format(Now, "YYYYMMDD") TargetPath = ThisWorkbook.Path ActiveWorkbook.SaveAs TargetPath & "\" & _ myFname & "報告書名前.xlsx", _ FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False Unload Me
End Sub
(GSX) 2017/10/16(月) 15:04
保存したいシートが特定できるならば、シートを新規ブックにコピーした後、任意の形式で保存できますが、月曜日付のブック内に今回のマクロが必要なのか、それとも不要なのか、どういう使い方を想定しているのかを教えてください。
とりあえず、月曜日のファイル名文字列を作るだけならば、以下のようにすれば良いでしょう。 そして、THisWorkbookの Workbook_BeforeClose 時にコードを書く事で、ブックを閉じる際に自動保存するようにできるでしょう。
Dim cw As String cw = Format(DateAdd("d", 2 - Weekday(Now), Now()), "YYYYMMDD") & "報告書【氏名】.xlsx" (???) 2017/10/16(月) 16:08
エクセルファイルには、1つのシートしか存在していません。
そのシートに、1週間分の作業内容を書くようになっています。
ファイル名は、毎週月曜日の日付+報告書【氏名】と決められています。
GSXさんのですと月曜日に報告書を作成を忘れなければ月曜日の名前にはなりますが
2回目からは使用できませんでした。←違う理由?
なので、火曜日にファイルを作成しても必ずその週の月曜日になるようにしたいです。
(ぱるる) 2017/10/25(水) 08:27
「今日」を基準で作ると、割と遡って書く場合も多いから、
融通が利かないんですよねー
週報のようですから、シート上のどこかに日付データがあると思うので、
それを元に「日付を示す文字列」を生成したらいいのかな?
それから、
間違って同じ週を保存しようとしたら、
強制的に上書きしてもいいのかな?
プログラムを作るってことは、
そういう本筋で無いこともいろいろ考えないといけません。
(まっつわん) 2017/10/25(水) 08:38
そして、私の書いたコードなら、月曜に実行しても火曜に実行しても、月曜の日付を返しますよ。ちょっと手抜きなのは、日曜だと前の月曜ではなく、次の月曜になってしまう点ですが、実用上問題がないだろうと思います。
(???) 2017/10/25(水) 09:19
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.