● Access2000 Win32API 初期フォルダを選択しながら、フォルダ選択ダイアログを開く

フォームに例えば「参照」ボタンを作ったとして、それを押したときにフォルダ選択ダイアログを開きますが、その時に特定のフォルダを既定にしたいときの処理です。

http://accessclub.jp/bbs/0189/beginers59310.html

を参考にします。

では、Cドライブのルートに作った「data001」というフォルダが、フォルダ選択ダイアログが開いたときに既定選択(青色反転)されるように設定する方法をお伝えいたします。

※既定に指定したフォルダの中にサブフォルダがあった場合は、それも下図のように展開されます。フォルダ選択の手間を省きたいときに有効です。ユーザーさんがラクになります。

まず、http://accessclub.jp/bbs/0189/beginers59310.htmlの、解答者の「しゃく」さんの回答を見ます。
その、「====モジュールに====」と書いてあるところから下、全部を、Accessの標準モジュールにコピペします。(Accessは「挿入」しなくても「モジュール」のメニューから「新規作成」で行けます)

Cドライブのルートに「data001」というフォルダを作ります。

フォームにコマンドボタンを作って、以下のコードをコピペします。

プログラムでは変数の「folder」に、フォルダのフルパスが格納されますので、もしテキストボックスなどに、そのフルパスを表示したかったら、「MsgBox」の行を消して、かわりに、

Me("テキストボックス名") = folder

などと書けばOKです。

なお、他のダイアログ設定にしたいときは、次のようにします。

folder = BrowseForFolder(Me, "Directoryの選択", "c:\data001\")
の行をいじりますが、次のようにします。

(01)フォーム名を明示的に書きたいとき、共用部品化したいとき、など。
「Me」→「Forms("フォーム名")」("も書きます。"で囲みます)
「Me」→「Forms(フォーム名を格納した変数名)」("は不要です)
などにします。

(02)既定のフォルダを変えたいとき
「"c:\data001\"」→その別のフォルダのフルパスに書き換えます。(VBEの画面では、「\」は半角の¥マークを使います。)