- 締切済み
VB OpenFileDialogと読み込み
OpenFileDialogを使用したテキストファイルの読み込みについて質問します。 TextFile.txt, TextFile2.txt, TextFile3.txt(内容は名前,電話番号)というファイルがあるとし、OpenFileDialogで選択してラベルまたはテキストボックスに表示させたいのですが、TextFile.txti以外のファイルを選んでもTextFile.txtの内容が表示されます。 VBの本に載っている二つのコードをそのまま使用してみました。 Imports Microsoft.VisualBasic.FileIO Public Class Form1 ' decrare modul level variable 'モジュールレベルの宣言 Private NamePhoneTextFieldParser As TextFieldParser Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 'Instatiate the ThextFieldPerser and set the deliminate 'Deliminateの設定とか Dim Filestring As String = "TextFile.txt" Try NamePhoneTextFieldParser = New TextFieldParser(Filestring) NamePhoneTextFieldParser.TextFieldType = FieldType.Delimited NamePhoneTextFieldParser.SetDelimiters(",") Catch ex As Exception MessageBox.Show("Unable to read the file:" & Filestring, "File Error") End Try End Sub Private Sub OFDBtn_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OFDBtn.Click Dim ReponseDialogResult As DialogResult Dim stream As System.IO.Stream ' Set up and display the OpenFileDialog 'OpenFIleDialogのセットアップ With OpenFileDialog1 .FileName = "TextFile.txt" .Title = "Directory for File" .Filter = "Text File (*.txt)|*.txt|All Files (*.*)|*.*" 'DIsplay Dialog Box ReponseDialogResult = .ShowDialog If ReponseDialogResult = DialogResult.OK Then stream = OpenFileDialog1.OpenFile() Else Exit Sub End If '電話番号と名前をファイルから読み取る On Error Resume Next Dim FieldString() As String ' Must be a strng array for deliminated fields If Not NamePhoneTextFieldParser.EndOfData Then FieldString = NamePhoneTextFieldParser.ReadFields() ' 最初の Field Nametxt.Text = FieldString(0) '二番目の Field Phonetxt.Text = FieldString(1) Else MessageBox.Show("No more records to display.", "End of Data") End If End With End Sub End Class です。 Dim Filestring As String = "TextFile.txt" NamePhoneTextFieldParser = New TextFieldParser(Filestring) または .FileName = "TextFile.txt" のどれかが影響しているのかなと疑っているのですが(特に前者)、合ってますでしょうか? 上記のコードでTextFile.txtを指定してしまっているのを、TextFile2.txt, TextFile3.txtと自分で選択したものを読み込ませて表示させたい場合、どう記述を変更したらよいでしょうか? ちなみにいずれのテキストファイルもカンマで区切られた一組の名前と電話番号です。
- みんなの回答 (2)
- 専門家の回答