注目キーワード
  1. VBA
  2. 関数
  3. ショートカット

シートやブックの指定・操作方法を知ろう!⑦

  • 2019年3月19日
  • VBA
  • 8回
  • 0件
VBA NO IMAGE

①新しいブックを作成する

新しい作業を開始するために、空白のブックを作成する方法を紹介します。また、既存のブックを「テンプレート」にして新規ブックを作成する方法や、作成したブックを対象に操作を行う方法も紹介します。

・ブックを新規作成する

新しいブックを作成するには、開かれているすべてのブックを表すWorkbooksコレクションのAddメソッドを実行します。標準的な空白のブックを作成する場合は、引数を指定する必要はありません。

・実行結果

 

・テンプレートに基づいてブックを作成する

既存のテンプレートファイルやブックファイルを指定し、それと同じ内容のブックを「新規ブック」として開くことができます。その場合、タイトルバーに表示されるブック名は「元のブック名」に「1から始まる連番」を足した形になります。ブックをテンプレートとして指定するには、Addメソッドの引数Templateに、そのファイル名の文字列を指定します。

 

・作成したブックのシート名を変更する

WorkbooksコレクションのAddメソッドでは、戻り値として、作成された新規ブックを表すWorkbookオブジェクトを取得でき、そのままブックを対象とする操作を行うことが可能です。

・実行結果

②ファイルを選択してブックを開く

開くブックをコードに記述するのではなく、ダイアログボックスを表示してユーザーに選択させて、そのブックを開くことも可能です。下記ではブックを開く方法と、開いたブックを操作する方法を紹介します。

・ダイアログボックスからブックを開く

「ファイルを開く」ダイアログボックスを表示して、選択されたファイルをExcelで開きたいときは、ApplicationオブジェクトのFindFileメソッドを使うのが簡単です。このメソッドに引数はありません。

・ダイアログボックスでファイル名を取得する

ApplicationオブジェクトのGetOpenFilenameメソッドは、「ファイルを開く」ダイアログボックスを表示してユーザーにファイルを選択されるところまで同じですが、そのファイルを開くのではなく、ファイル名の文字列を戻り値として返します。この文字列をOpenメソッドの引数に指定して開くことで、開いたブックをWorkbookオブジェクトとして取得し、さらに別の操作を行うことが可能です。

次の例では、GetOpenFilenameメソッドの戻り値を変数fNameに収め、Openメソッドの引数に指定して、開いたブックのファイル名をメッセージボックに表示します。

③ファイル名を指定してブックを保存する

名前を付けて保存する際に、ブック名をコードで指定しておくのではなく、ダイアログボックスを表示してユーザーに指定させることが可能です。下記ではブック名を指定する方法と保存する操作をそれぞれ別に行う方法を紹介します。

・ダイアログボックスを保存する

「名前を付けて保存」ダイアログボックスを表示し、指定された保存場所とファイル名でブックを保存するには、Dialogオブジェクトを利用します。ApplicationオブジェクトのDialogプロパティでDialogsコレクションを取得し、インデックスとして定数xlDialogSaveAsを指定して、目的のDialogオブジェクトを取得します。そのShowメソッドで、ダイアログボックスを表示します。

NO IMAGE
最新情報をチェックしよう!