この記事には広告を含む場合があります。
記事内で紹介する商品を購入することで、当サイトに売り上げの一部が還元されることがあります。
こんにちは。かわべです。
Excelで実行中のファイルに名前をつけて新規に保存するマクロについて記載します。
(マクロ実行環境:Windows7、Excel2010)
ファイルの上書き保存
ファイルを上書き保存する場合、私は次のように記述しました。
「ActiveWorkbook.Save」のみを記載すると、確認画面等の表示がなく、すぐに上書き保存されるため、私はIF構文を作成して確認画面を表示してから上書きするように記述しています。
ファイルに名前をつけて保存
実行中のExcelファイルに名前をつけて保存する場合、私は次のように記述しました。
先ほどの上書き保存の時に記述した「ActiveWorkbook.Save」の後に「As FIlename:=」を記述し、その途にファイル名を記述するとその記述したファイル名で保存することができます。
上記の例では、InputBoxを使ってファイル名を入力するようにしました。実行すると次のとおりです。
「ファイル名をつけて保存しますか?」の画面でOKをクリックすると「ファイル名を入力してください。」という画面が表示されます。
「テスト」と入力してOKをクリックすると、次のように実行しているExcelの上部に表示されているファイル名が変更されます。
保存先を指定する
ファイルの保存先を指定することができます。デスクトップに保存するため次のように記述しました。
今回は「FIlename:=」の後の記述が長くなるのでファイル名は変数strAaを宣言し、InputBoxで入力した文字を代入するように記述しました。
(上の画像のピンク色の枠囲み部分)
デスクトップに保存する場合は、上の画像の緑色の枠囲み部分のとおり、「”C:¥Users¥”」、「”PCのユーザー名”」、「”¥Desktop¥”」の後に、「ファイル名strAa」と記述すると使用しているPCのデスクトップに保存されます。
先ほどのようにファイル名を「テスト」として実行すると次のとおりデスクトップに保存されます。
PCのユーザー名を検索して保存
デスクトップに保存する場合で、PCのユーザー名を記述しておくと、PCが変わった時に対応できなくなるため、私は、次のように記述しました。
変数strCaとobjNaを定義して、上の画像の赤い枠囲み部分のように記述してstrCaにユーザー名を代入しました。
(この部分の記述は次のページを参考にしました。)
LINK 『moguモーグ』 ユーザー名やコンピューター名を取得する(WshNetworkオブジェクト)
上の画像の緑色の枠囲みのとおり、ユーザー名strCaを記述してデスクトップに保存しました。
まとめ
実は上記のようなExcelファイル(マクロ有効)に「新しい名称をつけて保存する」というマクロを作成することは、あまりありません。
私はマクロ有効ファイルの一部のシートを抜き出して、csvデータで保存するというケースが多いので次回以降に記事にしてみます。
プログラミングを学ぶならTechAcademy [テックアカデミー]
■□◆◇ 編集後記 ◇◆□■
今日は風が冷たいですね。外で電話をしていたら、手が悴んでしまいました。