Step17 コピーの請求書のシート名を変更し保存

表とデータのみコピーしたシート名を変更し、ブックを保存します

シート名を変更するにはNameプロパティを使います。

今回は最初に名前を付けて保存のダイアログボックスを表示させ、ファイル名を指定しているので名前を付けて保存形式のSaveAsメソッドを使います。

メニューに戻る


スポンサーリンク





作成画面

■CommandButton2_Clickイベントコードの最終行に、シート名変更のコードを追加しました。

Workbooks(sNewBook).Worksheets("Sheet1").Name = "請求書(控え)"

上のコードは前回の「Step16 新規ブックに請求書をコピー Part2」を参照してください。
イベントコードの最終行に、シート名変更のコードを追加

実行結果です。 シート名が「Sheet1」から「請求書(控え)」に変わりました。
シート名が「Sheet1」から「請求書(控え)」に変わりました

次にファイルを名前を付けて保存するコードを、最終行に追加します。
Workbooks(sNewBook).SaveAs Filename:=sSaveFile
sSaveFileは、名前を付けて保存ダイアログボックスで指定されたファイル名が保存されている文字型の変数です。
ファイルを名前を付けて保存するコードを、最終行に追加

スポンサーリンク





以上のコードを追加し実行後、保存したファイルを開いて見ると「(ファイル名.xlsのファイル形式と拡張子が一致しません。ファイルが破損しているか、安全ではない可能性があります。発行元が信頼できない場合は、このファイルを開かないでください。ファイルをひらきますか?」とメッセージが表示されてしまいました。
「はい」を選択すると開くことはできますが、これではいけないので修正します。
原因は、作成元のExcelがXLSX形式なのに、XLS形式で保存したためでした。
ファイル形式と拡張子が一致しません

名前を付けて保存のプロシージャ「MySaveFileName」内fileFilter部分のxlsをxlsxに変更します。
sgetfile = Application.GetSaveAsFilename(fileFilter:="エクセルファイル (*.xlsx), *.xlsx")

前後のコードは「Step14 ファイル保存ボタン:名前を付けて保存」を参照してください。
これで自動的にXLSX形式で保存できます。
fileFilter部分のxlsをxlsxに変更

■保存したコピーの請求書

ファイル名は、「請求書」「日付」「宛先」などを組み合わせることで、後で分かり易くなり、検索できるようになります。
保存したコピーの請求書

次回、沢山請求書を発行される場合どんどんファイル数が増えていくので、宛先単位のブックを作成し、シートを追加する形式に変更したいと思います。

スポンサーリンク






メニューに戻る

■■■
このサイトの内容を利用して発生した、いかなる問題にも一切責任は負いませんのでご了承下さい
■■■
当ホームページに掲載されているあらゆる内容の無許可転載・転用を禁止します


Copyright (c) Excel-Excel ! All rights reserved