本記事では、ExcelのVBAを使用してファイルの保存先を指定するさまざまな方法(名前をつけて保存、ダイアログボックスを通じて、絶対パス指定、デスクトップへの保存、ファイルの存在を確認してからの保存など)について詳しく説明します。
さっそく、具体的な内容を見ていきましょう。
Excel VBAでファイルを絶対パスで名前付き保存する手順【Dir関数、ChDrive、MkDirの使用】
まずは、ExcelのVBAマクロを使用して、名前を付けて保存する際にファイルの場所を絶対パスで指定する手順について説明します。
例として、Cドライブ内の「hozon」フォルダに現在のアクティブブックを保存する方法を見ていきます。
このプロセスでは、`Dir`関数を利用して保存先のフォルダが既に存在するかを確認し、存在しない場合は`MkDir`を使って新しくフォルダを作成します。
Alt + F11キーを押してVBE(Visual Basic Editor)を開き、次に示すコードをコピー&ペーストしてください。
Sub aaaaa絶対パスでの保存aaaaa() '【説明】保存先フォルダを絶対パスで指定して保存する '【注意】保存先フォルダがない場合はフォルダを作成します Dim aaaaa保存先のフルパスaaaaa As String 'C:\hozon フォルダに保存 aaaaa保存先のフルパスaaaaa = "C:\hozon\" & ActiveWorkbook.Name 'Dir 関数は、ファイルやフォルダの存在をチェックする関数です 'Dir(パス名,属性)で使用します If Dir("C:\hozon", vbDirectory) = "" Then 'ドライブをCドライブに変更 ChDrive "C:" 'hozonフォルダを作成 MkDir "C:\hozon" End If 'ファイル名を指定して保存 ActiveWorkbook.SaveAs Filename:=aaaaa保存先のフルパスaaaaa MsgBox "保存が完了しました!" End Sub
押してくださいAlt+F8キーで、マクロ選択画面から`aaaaa絶対パスでの保存aaaaa`関数を実行します。
このコードは以下のステップで処理を行います。
1. `aaaaa保存先のフルパスaaaaa`変数に保存先の完全なパスを格納
2. `Dir`関数を使用して”C:\hozon”フォルダが存在するかを確認
3. フォルダが存在しない場合は、`ChDrive`で”C:”ドライブに切り替え、`MkDir`で”C:\hozon”フォルダを作成
4. `ActiveWorkbook.SaveAs`メソッドを使用してファイル名を指定し、保存します。
Excel VBAを使用してダイアログボックスで保存先を指定する方法【Application.GetSaveAsFilenameの活用】
次に、VBAマクロを利用してダイアログボックスを通じて保存先を指定する手法について説明します。
このプロセスでは、`Application.GetSaveAsFilename`を使って保存先選択のダイアログボックスを表示し、ユーザーが選択できるようにします。
Alt + F11キーを押してVBE(Visual Basic Editor)を開き、下記のコードをコピー&ペーストして利用してください。
Sub aaaaaダイアログでの保存aaaaa() '【説明】保存先をダイアログボックスで指定して保存する 'GetSaveAsFilename関数はブックを保存するためのダイアログボックスを表示する関数です 'ファイル名を取得するにはFileFilter:=を使用 Dim aaaaa選択したブックのファイル名aaaaa As Variant aaaaa選択したブックのファイル名aaaaa = Application.GetSaveAsFilename(FileFilter:="Excelブック,*.xlsx") 'ファイル名の取得に成功した場合 If aaaaa選択したブックのファイル名aaaaa <> False Then '選択したファイル名で保存 ActiveWorkbook.SaveAs Filename:=aaaaa選択したブックのファイル名aaaaa MsgBox "保存が完了しました!" Else 'キャンセルボタンが押された場合 MsgBox "保存をキャンセルしました" End If End Sub
Alt+F8キーを押し、マクロ選択画面から`aaaaaダイアログでの保存aaaaa`関数を実行してください。
このプログラムは次の手順で動作します。
1. `Application.GetSaveAsFilename`関数を使用して保存先を指定するダイアログボックスを表示し、選択されたファイル名を`aaaaa選択したブックのファイル名aaaaa`変数に保存します。
2. ファイル名が正しく取得できた場合、`ActiveWorkbook.SaveAs`メソッドを使ってそのファイル名でワークブックを保存します。
3. キャンセルボタンが押された場合は、「保存がキャンセルされました」というメッセージを表示します。
VBAを用いた保存先の設定方法のまとめ(パス指定、デスクトップ保存、存在確認後の保存など)
この記事を通じて、VBAマクロを活用した保存先の設定方法(名前を付けて保存、ダイアログを通じて、絶対パスの指定、デスクトップへの保存、フォルダが存在しない場合の作成と保存など)について詳しく学びました。
マクロの操作に慣れ、より効率的な作業環境を整えましょう!