- ベストアンサー
エクセルでCSVファイルをユーザーに選択させる方法
- エクセルVBAで、特定のフォルダに入っているCSVファイルをユーザーに選択させる方法についてです。
- 組み込みダイアログを使用すると実際にファイルが開かれてしまい、不都合が生じるため、ファイル名だけを取得する方法が必要です。
- Application.GetOpenFilenameではワイルドカードを使用することができないため、別の方法を検討する必要があります。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
複数のファイルを選択しないという条件なら Sub Sample5() Dim FD As FileDialog Set FD = Application.FileDialog(msoFileDialogOpen) With FD .InitialFileName = "C:\Data\*企画*" If .Show = True Then MsgBox (.SelectedItems(1)) '.Execute Else MsgBox "キャンセルされました" End If End With End Sub といったコードはいかがでしょうか。
その他の回答 (1)
- watabe007
- ベストアンサー率62% (476/760)
>このような場合、どのような方法をとればよいでしょうか? ユーザーフォームに リストボックス~1個 コマンドボタン~1個を設けて リストボックスにファイルの一覧を書き出し選択してみては -標準モジュール- Sub Test() 'ユーザーフォームを起動 UserForm1.Show End Sub -ユーザーフォームモジュール- Private Sub UserForm_Initialize() Dim Files As String Files = Dir("D:\Data\*企画*.csv") Do While Files <> "" Me.ListBox1.AddItem Files Files = Dir() Loop End Sub Private Sub CommandButton1_Click() If ListBox1.ListIndex = -1 Then MsgBox "データを選択してください。", vbExclamation Exit Sub Else MsgBox ListBox1.Value & "を開きます。" 'CS Vファイルを開く処理 '・・・・・・・ End If End Sub
お礼
ありがとうございます。ユーザーフォームはまだ使ったことがありませんでした。こういう方法があるんですね、勉強になります。
お礼
Application.FileDialog(msoFileDialogOpen)は初めて知りました! これは簡単で便利ですね! これを使わせていただきます。 ありがとうございました。