0

私はVisual Basic 2008 Express Editionを使用していますが、これは私にとって非常に新しいことです。参照ボタンがあり、参照ボタンをクリックするとファイルが参照され、そのパスがラベル ボックスに表示されるようにコードを追加しました。

同様に、選択したファイルの内容をテキスト ボックスに表示したいと考えています。次のコードを使用します。

    Imports System.IO.StreamReader
    Dim oReader As StreamReader

    OpenFileDialog1.CheckFileExists = True
    OpenFileDialog1.CheckPathExists = True
    OpenFileDialog1.DefaultExt = "txt"
    OpenFileDialog1.FileName = ""
    OpenFileDialog1.Filter = "Text Files (*.txt)|*.txt|All Files (*.*)|*.*"
    OpenFileDialog1.Multiselect = False

    If OpenFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
        oReader = New StreamReader(OpenFileDialog1.FileName, True)
        RichTextBox1.Text = oReader.ReadToEnd
    End If

しかし、Imports行とStreamReaderの構文エラーが宣言されていません。この問題を解決するにはどうすればよいですか?

4

4 に答える 4

2

importステートメントは、ファイルの最上部、SubまたはFunctionの外部にある必要があり、oReader宣言は、少なくともクラス内、またはメソッド内にある必要があります。

さらに、インポートが正しくありません。「ImportsSystem.IO.StreamReader」は「ImportsSystem.IO」である必要があります。そうでない場合、StreamReader内で宣言されたクラス(存在する場合)にのみアクセスできます。本当に必要なのは、System.IO名前空間をインポートして、その名前空間で宣言されている型にアクセスできるようにすることです。

Imports System.IO

Public Class MyForm

    ' ... Whatever code you have for your form

    Public Sub OpenFile()

        Dim oReader As StreamReader

        OpenFileDialog1.CheckFileExists = True
        OpenFileDialog1.CheckPathExists = True
        OpenFileDialog1.DefaultExt = "txt"
        OpenFileDialog1.FileName = ""
        OpenFileDialog1.Filter = "Text Files (*.txt)|*.txt|All Files (*.*)|*.*"
        OpenFileDialog1.Multiselect = False

        If OpenFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
            oReader = New StreamReader(OpenFileDialog1.FileName, True)
            RichTextBox1.Text = oReader.ReadToEnd
        End If

    End Sub

End Class
于 2012-10-06T11:08:48.403 に答える
0

System.IO名前空間をインポートする必要があります。

そして、コードでこれらの変更を確認してください。

Dim oReader As StreamReader
openFileDialog1.CheckFileExists = True
openFileDialog1.CheckPathExists = True
openFileDialog1.DefaultExt = "txt"
openFileDialog1.FileName = ""
openFileDialog1.Filter = "Text Files (*.txt)|*.txt|All Files (*.*)|*.*"
openFileDialog1.Multiselect = False
If openFileDialog1.ShowDialog() = DialogResult.OK Then
    oReader = New StreamReader(openFileDialog1.FileName, True)
    richTextBox1.Text = oReader.ReadToEnd()
End If
于 2012-10-06T11:46:01.263 に答える