• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルでCSVファイルをユーザーに選択させたい)

エクセルでCSVファイルをユーザーに選択させる方法

このQ&Aのポイント
  • エクセルVBAで、特定のフォルダに入っているCSVファイルをユーザーに選択させる方法についてです。
  • 組み込みダイアログを使用すると実際にファイルが開かれてしまい、不都合が生じるため、ファイル名だけを取得する方法が必要です。
  • Application.GetOpenFilenameではワイルドカードを使用することができないため、別の方法を検討する必要があります。

質問者が選んだベストアンサー

  • ベストアンサー
  • HohoPapa
  • ベストアンサー率65% (455/693)
回答No.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 といったコードはいかがでしょうか。

emaxemax
質問者

お礼

Application.FileDialog(msoFileDialogOpen)は初めて知りました! これは簡単で便利ですね! これを使わせていただきます。 ありがとうございました。

その他の回答 (1)

  • watabe007
  • ベストアンサー率62% (476/760)
回答No.1

>このような場合、どのような方法をとればよいでしょうか? ユーザーフォームに リストボックス~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

emaxemax
質問者

お礼

ありがとうございます。ユーザーフォームはまだ使ったことがありませんでした。こういう方法があるんですね、勉強になります。

関連するQ&A

専門家に質問してみよう