Shell.BrowseForFolder メソッド
本ページには広告が含まれています。
ダイアログボックス
Warning : Trying to access array offset on null in
/home/uwsc/domains/uwsc.jp/public_html/wp-content/plugins/code-snippets/php/snippet-ops.php(947) : eval()'d code on line
13
ユーザーがフォルダを選択できるようにするダイアログボックスを作成し、選択したフォルダのFolder オブジェクト を返します。
キャンセルした場合NOTHING を返します。
ファイルを選択させる場合は、ExcelオブジェクトのApplication.GetOpenFilename メソッド (Excel) を使います。
構文 Folder = Shell .BrowseForFolder( Hwnd, sTitle, iOptions, vRootFolder )引数 Hwnd(Integer)必須 ダイアログボックスの親ウィンドウのハンドル sTitle(BSTR )必須 ダイアログボックス内に表示される文字列 iOptions(Integer)必須 BROWSEINFO 構造体のulFlagsメンバーからなる値リストの組み合わせ vRootFolder(Variant )省略可 ダイアログボックスで使用する、ルートフォルダを指定する 戻り値 フォルダ選択のダイアログボックスを表示し、選択したフォルダのFolder オブジェクト を返す。 vRootFolder 第四引数のvRootFolderに指定する値によって、表示内容が変化します。
「0」のとき
「""(空文字)」のとき
省略したとき
特殊フォルダを指定するにはShell.NameSpace メソッド でパスを取得します。
プログラム実行例 写真の撮影日時毎に枚数を取得 選択したフォルダにある写真の撮影日時を取得・カウントします。
使用関数
DIM (1, 14, 15, 20, 31行目 ) ローカル変数を宣言します。 CREATEOLEOBJ関数 (スクリプト関数) (1行目 ) COMオブジェクト を生成します。Shell.BrowseForFolder メソッド (2行目 ) フォルダ選択のダイアログボックスを表示し、選択したフォルダのFolderオブジェクトを返す。 連想配列 (4, 10行目 ) FOR-TO文 (6, 7, 8, 12, 13, 14, 15, 16, 17, 18行目 他8行 ) 条件が真の間、処理を繰り返し実行します。途中でループを抜けたいときはBREAK文 を使います。 FUKIDASI関数 (スクリプト関数) (13行目 ) メッセージを吹出しに表示します。 IFB文 (16行目 ) IFB-ENDIF文は条件によって処理を分岐させたいときに利用します。ELSEIF文で条件、処理を複数書くことができます。処理が1文のときはIF文でも書くことができます。 text関数 (自作関数) (20行目 ) 数値を表示書式に基づいて変換した文字列を返します。 dateValue関数 (自作関数) (20行目 ) 日付形式の文字列をシリアル値 に変換します。 LENGTH関数 (25行目 ) 文字数もしくは配列サイズを返します。 PRINT文 (26行目 ) UWSC.LOGにログを出力します。 FUNCTION-FEND (30, 31, 32, 33, 34, 35, 36行目 ) 戻り値のある自作関数を定義する。 CHR関数 (31行目 ) 文字コード から文字を返します。FOR-IN文 (32, 33, 34行目 ) 配列の要素分だけ処理を繰り返します。FOR文でも書き換えられます。 REPLACE関数 (スクリプト関数) (33行目 ) 指定文字列を置換します。 コメント (29行目 ) プログラムの動作に影響しない注釈を残すことができます。プログラムの内容を説明したり、デバッグや修正のために一時的にコードを無効化ときにも使えます。 特殊文字 (35行目 ) 選択したファイルを移動する 選択したファイルをコピーする 選択したフォルダ内のサブフォルダを取得 選択したフォルダのパスを取得 指定したディレクトリ内のフォルダ・ファイル情報を取得 使用関数
定数定義 (1行目 ) DIM (3, 4, 7行目 ) ローカル変数を宣言します。 CREATEOLEOBJ関数 (スクリプト関数) (3行目 ) COMオブジェクト を生成します。Shell.BrowseForFolder メソッド (4行目 ) フォルダ選択のダイアログボックスを表示し、選択したフォルダのFolderオブジェクトを返す。 FOR-TO文 (6, 7, 8, 9, 10, 11, 12, 13, 14, 15行目 他1行 ) 条件が真の間、処理を繰り返し実行します。途中でループを抜けたいときはBREAK文 を使います。 WITH文 (8行目 ) PRINT文 (9, 10, 11, 12, 13, 15行目 ) UWSC.LOGにログを出力します。
公開日: 2018年12月17日 更新日: 2022年9月12日
関連記事 Application.FindFile メソッド (Excel) [ファイルを開く]タイアログボックスを表示します。ファイルを正しく開けたらTrue、開けなければFalseを返します。 Application.GetOpenFilename メソッド (Excel) [ファイルを開く]ダイアログボックスを表示します。選択したファイルのパスを戻値として返します。