Subステートメントを記述する
コピー元フォルダパスを取得するプログラムを作成します。これまでプログラムを記述してきた標準モジュールにSubステートメントを記述しておきましょう。マクロ名は「コピー元フォルダパス取得」とします。Subステートメントを記述
変数を2つ宣言する
続いて、変数を2つ宣言します。1つめは、「Shell」オブジェクトを格納する変数の宣言です。Shellオブジェクトは、「フォルダの参照」ダイアログボックスを表示するメソッドを持つオブジェクトです。変数名は「objShell」とし、ここでは、「As」のあとに「New」キーワードを記述して、変数を宣言した時点でオブジェクトを使用できるようにしています。※Newキーワードは、変数宣言時にオブジェクトのインスタンス(コピー)を生成します。これを事前バインディングといいます。
2つめは、「Folder3」オブジェクトを格納する変数の宣言です。Folder3オブジェクトは、「フォルダの参照」ダイアログボックスで選択されたフォルダを表すオブジェクトです。変数名は「objFolder」とします。
Folder3オブジェクトを格納する変数を宣言
「フォルダの参照」ダイアログボックスを表示する
「フォルダの参照」ダイアログボックスを表示するには、Shellオブジェクトの「BrowseForFolder」メソッドを使用します。2つめの引数に指定した文字列は、メッセージとして「フォルダの参照」ダイアログボックスに表示されます。1つめと3つめの引数には「0」を指定してください。BrowseForFolderメソッド
BrowseForFolderメソッドは、「フォルダの参照」ダイアログボックスで選択されたフォルダを返すので、これを変数「objFolder」に格納します。ブジェクトを格納するときは、「Set」ステートメントを使用してください。
BrowseForFolderメソッドの戻り値を変数「objFolder」に格納
BrowseForFolderメソッドの実行イメージ
ここで、BrowseForFolderメソッドの実行イメージを整理しておきましょう。「コピー元フォルダパス取得」マクロプログラムが実行されて、BrowseForFolderメソッドが実行されると、プログラムが一時停止して、「フォルダの参照」ダイアログボックスが表示されます。「フォルダの参照」ダイアログボックスが表示される
「フォルダの参照」ダイアログボックスでフォルダを選択して「OK」ボタンをクリックすると、プログラムが再開し、選択したフォルダがFolder3オブジェクトとして返されて、変数「objFolder」に格納されます。
選択したフォルダを取得する
>続いて、選択したフォルダのフォルダパスを取得します。次ページへどうぞ!