Public Function chooseFolder(Optional
ByRef strPrompt As String = "") As Variant フォルダの選択ダイアログを表示し、ユーザが選択したフォルダのパスを返します。 |
chooseFolder |
フォルダの選択ダイアログを表示し、ユーザが選択したフォルダのパスを返します。in引数:
※ユーザがフォルダを選択しなかった場合はFalseを返します。
strPrompt:ヒント(フォルダの選択ダイアログの上の方に表示されます。)返り値:
■ユーザがフォルダを選択した場合:フォルダのパス(String型)表示されるダイアログについて:
選択したフォルダがドライブ名のみだった場合、最後にフォルダの区切り文字(※1)がつきます。(※2)
例(Win):"C:\"
例(Mac):"Macintosh HD:"
そうではないときは、最後にフォルダの区切り文字(※1)はつきません。(※2)
例(Win):"C:\Program Files"
例(Mac):"Macintosh HD:Users"
※1:Excel.Application.PathSeparatorで取得可能です。Windowsの場合は"\"、Mac の場合は":"です。
※2:この仕様はVBA.FileSystem.CurDirメソッドと同じハズです。(違っていたらバグです。)
■ユーザがフォルダを選択しなかった場合:False(Boolean型)
※1:この仕様はExcel.Application.GetOpenFilenameメソッドと同じハズです。(違っていた らバグです。)
表示されるダイアログはOSによります。動作確認:
また、ダイアログの中に新規ウィンドウを作成する機能があるとは限りません。
一度、ダイアログを表示した後、もう一度表示したときに、初期選択フォルダが前回選択したフォルダになるとは限りません。
以下に、表示される画面のイメージを示します。
図1 Mac OS X 10.3.9の場合のフォルダ選択画面
図2 WindowsXPの場合のフォルダ選択画面
■Macの場合:
Mac OS X 10.3.9
Mac OS 9以下でも動作すると思いますが、確認していません。
(AppleScriptを使用しているので多分動作すると思います)
■Windowsの場合:
Windows XP
Windows 98