質問するログイン新規登録

回答編集履歴

2

コードブロックの言語を"VBScript"に設定:VisualBasicが無いのでVBScriptとした

2017/02/10 01:35

投稿

Y.H.
Y.H.

スコア7918

answer CHANGED
@@ -5,7 +5,7 @@
5
5
  > SHBrowseForFolder()のパラメーターのBROWSEINFO.lpfn に callback function (ここではBrowseCallbackProc())を指定し、BROWSEINFO.lParam にBrowseCallbackProc()に渡すパラメーター(ここでは初期選択フォルダーのPATH)を設定します。
6
6
  > このBrowseCallbackProc()では、ファイル選択ダイアログの初期化時(BFFM_INITIALIZEDのとき)に```Call SendMessageStr(lngHWnd, BFFM_SETSELECTIONA, 1&, StrConv(lngLpData, vbUnicode))```として```lngLpData```(初期選択フォルダーのPATH)を選択(```BFFM_SETSELECTIONA```)するWindowsメッセージを送信します。
7
7
 
8
- ```VB
8
+ ```VBScript
9
9
  ' フォルダー選択ダイアログを表示
10
10
  ' *** この内容を標準モジュールに作成してください ***
11
11
  ' strTitle : ダイアログのタイトル

1

回答補足追加

2017/02/10 01:35

投稿

Y.H.
Y.H.

スコア7918

answer CHANGED
@@ -1,6 +1,10 @@
1
1
  むかしむかし、あるしがないプログラマーが作成したものです。
2
2
  参考になるでしょうか?
3
3
 
4
+ 初期選択フォルダーの指定について処理を補足するとこんな感じです
5
+ > SHBrowseForFolder()のパラメーターのBROWSEINFO.lpfn に callback function (ここではBrowseCallbackProc())を指定し、BROWSEINFO.lParam にBrowseCallbackProc()に渡すパラメーター(ここでは初期選択フォルダーのPATH)を設定します。
6
+ > このBrowseCallbackProc()では、ファイル選択ダイアログの初期化時(BFFM_INITIALIZEDのとき)に```Call SendMessageStr(lngHWnd, BFFM_SETSELECTIONA, 1&, StrConv(lngLpData, vbUnicode))```として```lngLpData```(初期選択フォルダーのPATH)を選択(```BFFM_SETSELECTIONA```)するWindowsメッセージを送信します。
7
+
4
8
  ```VB
5
9
  ' フォルダー選択ダイアログを表示
6
10
  ' *** この内容を標準モジュールに作成してください ***