前提・実現したいこと
VB.netデスクトップアプリを作っており、CSVを読み込んでテキストボックスに表示させたいです。
基本的な処理はかけていて、ボタンクリックイベントで取得したファイルのパスを、
実行処理にて引数として使うとエラーになります。
ファイル名が含まれていないからでしょうか?
ファイル名を含めるようにするにはどうすればよいでしょうか?
###構成
以下のメソッドオブジェクトで構成しています。
・イベント処理(ボタンクリック時にダイアログを表示させ、選択したCSVファイルのパスを取得)
・実行処理(パスを引数としてファイルを読み込み、テキストボックスに表示する)
発生している問題・エラーメッセージ
ファイルが見つかりません。と表示されます
エラーメッセージ System.IO.FileNotFoundException:'ファイル'C¥Users¥〇〇¥Desktop'が見つかりませんでした。
該当のソースコード
VB
1ソースコード 2 ''---コントロールイベント 3 '---BTNボタンクリックイベント 4 Private sub InputCSVBTN_click 以下省略 5 'OpenFileDialogインスタンスを生成 6 Dim ofd As New OpenFileDialog() 7 8 If ofd.ShowDialog() = DialogResult OK Then 9 '読み込みファイルのパスを取得 10 Dim FilePath AS String = IO.Path.GetDirectoryName(ofd.FileName) 11 '読み込み処理を実行 12 InputCSV(FilePath) 13 14 15 ''---実行処理 16 '---ファイル読み込み 17 Public InputCSV(Bybal FilePath As String) 18 Using objIoTFP As New Microsoft.VisualBasic.FileIO.TextFieldParser(FilePath, Encoding.GetEncoding("Shift_JIS")) 19 '読み込み時の設定 20 With objIoTFP 21 '区切り文字をカンマに設定 22 .TextFieldType = Microsoft.VisualBasic.FileIO.FieldType.Delimited 23 .SetDelimiters(",") 24 '空白があった場合にTrimしない 25 .TrimWhiteSpace = False 26 End With 27 28 'CSV読み込み実行 29 While Not objIoTFP.EndOfData 30 Dim arrayRow As String() = objIoTFP.ReadFields() 31 Dim strVeiwResult As String = Nothing 32 For Each objField As String In arrayRow 33 '表示 34 strVeiwResult = strVeiwResult & objField & "," 35 Next 36 '列の末尾のカンマを削除 37 strVeiwResult = strVeiwResult.TrimEnd(",") 38 'テキストボックスに表示 39 txtResult.Text = txtResult.Text & strVeiwResult & vbCrLf 40 End While 41 End Using 42
回答2件
あなたの回答
tips
プレビュー