作成画面
■CommandButton2_Clickイベントコードの最終行に、シート名変更のコードを追加しました。
Workbooks(sNewBook).Worksheets("Sheet1").Name = "請求書(控え)"
上のコードは前回の「
Step16 新規ブックに請求書をコピー Part2」を参照してください。
実行結果です。 シート名が「Sheet1」から「請求書(控え)」に変わりました。
次にファイルを名前を付けて保存するコードを、最終行に追加します。
Workbooks(sNewBook).SaveAs Filename:=sSaveFile
sSaveFileは、名前を付けて保存ダイアログボックスで指定されたファイル名が保存されている文字型の変数です。
以上のコードを追加し実行後、保存したファイルを開いて見ると「(ファイル名.xlsのファイル形式と拡張子が一致しません。ファイルが破損しているか、安全ではない可能性があります。発行元が信頼できない場合は、このファイルを開かないでください。ファイルをひらきますか?」とメッセージが表示されてしまいました。
「はい」を選択すると開くことはできますが、これではいけないので修正します。
原因は、作成元のExcelがXLSX形式なのに、XLS形式で保存したためでした。
名前を付けて保存のプロシージャ「MySaveFileName」内fileFilter部分のxlsをxlsxに変更します。
sgetfile = Application.GetSaveAsFilename(fileFilter:="エクセルファイル (*.xlsx), *.xlsx")
前後のコードは「
Step14 ファイル保存ボタン:名前を付けて保存」を参照してください。
これで自動的にXLSX形式で保存できます。
■保存したコピーの請求書
ファイル名は、「請求書」「日付」「宛先」などを組み合わせることで、後で分かり易くなり、検索できるようになります。
次回、沢山請求書を発行される場合どんどんファイル数が増えていくので、宛先単位のブックを作成し、シートを追加する形式に変更したいと思います。