0

ユーザーができるダイアログを開きたい:

  • フォルダを選択します
  • エントリをアルファベット順に並べ替える
  • ファイルとフォルダを表示

私はこれを達成するためにVBAのApplication.FileDialogを使用しようとしています。現在のコードは次のとおりです。

Sub makeFileDialog()

Dim dialog As FileDialog
Dim result As String


Set dialog = Application.FileDialog(msoFileDialogFolderPicker)

With dialog
    .InitialFileName = "c:\"
    .InitialView = msoFileDialogViewDetails
    If dialog.Show = -1 Then
        result = .SelectedItems.Item(1)
    Else
        result = ""
    End If
End With

debug.print result

End Sub

これによりフォルダを選択できますが、.InitialView正しく設定されていません。[表示]ボタンがグレー表示され、フォルダリストが並べ替えのために列に分割されていません。.InitialView多分で設定できないと思いますmsoFileDialogFolderPicker。また、ファイル名は表示されません。

FileDialogのパラメータをに変更しmsoFileDialogFilePickerて、ビューと表示ファイルを使用できるようにしましたが、フォルダを選択して返すことができません。

を使用するソリューションをオンラインで見ましたCreateObject("Shell.Application")が、シェルによって作成されたダイアログはあまり柔軟ではなく、各ファイルに関する多くの情報を提供していません。

アイデア?

4

1 に答える 1