ユーザーが作業ディレクトリを選択できるようにするために、FolderBrowserDialog(VB Express 2013)を使用しようとしています。私は多くの例(すべて非常に似ている)を見つけましたが、物事はうまくいかないようです。
マイコード:VBのFolderBrowserDialogはディレクトリツリーを展開しません
Sub TestIt()
Dim dlgChooseFolder As New FolderBrowserDialog
Dim dr As DialogResult
dlgchoosefolder.Description = _
"Select the directory that you want to use As the default."
' Default to the My Documents folder.
dlgChooseFolder.RootFolder = Environment.SpecialFolder.Personal
'dlgChooseFolder.SelectedPath = "c:\users\mary\Documents\WebStuff"
dr = dlgChooseFolder.ShowDialog
If (dr = DialogResult.OK) Then
Debug.Print("dr = OK" & vbCrLf & dlgChooseFolder.SelectedPath)
Else
Debug.Print("dr <> OK")
End If
End Sub
ダイアログが表示されますが、ツリー内の唯一のエントリは、「ドキュメント」であり、そのサブディレクトリを表示するために展開されません。 ShowDialogの前に明示的にSelectedPathプロパティを設定しても、常にRootFolderにリセットされます。 FolderBrowserDialogが
誰でも助けることができます:
ここで表示されるダイアログボックスはありますか?私は間違って何をしていますか?
おかげで、
マーブル
'dlgChooseFolder.RootFolder = Environment.SpecialFolder.Personal'行を削除するとどうなりますか? –
私は3つの異なるマシンで同じことを試みましたが、私は同じ動作を見ます。最初の2人はDocumentsフォルダの場所を変更していたので問題はあるかもしれないと思ったが、3人目は同じように振る舞いませんでした。 Musicフォルダも同じことをしましたが、上記のレベル、つまり「SpecialFolder.UserProfile」が正常に機能しました。これがWindows 10の問題かどうか疑問に思う。私は古いバージョンでこれを見ることは思い出せませんが、私はこれまでにドキュメントに 'RootFolder'を設定したことは確かではありません。 – jmcilhinney
明示的に設定されていない場合、RootFolderのデフォルトはデスクトップです。ディレクトリツリーは正しく機能しますが、ユーザーは選択したくないフォルダを選択できます。あなたはWindows 10の質問に何かをするかもしれません。このコードは数年前に正しく機能しました。 – Mable