0

私は割り当てに取り組んでおり、OpenFileDialog クラスを使用して .txt ファイルを選択し、そのファイル名プロパティを GetFileName() という関数に返す必要があります。

これは、ボタンクリック用のコードです。

    Private Sub 
    btnSelectFile_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSelectFile.Click

End Sub

選択したファイルを関数に取り込む方法について混乱しています。これは私の機能のコードです。

     Private Function GetFileName() As String

     Dim OpenDonorList As New OpenFileDialog

    OpenDonorList.Filter = "txt files (*.txt)|*.txt"
    OpenDonorList.Title = "Save File As"
    OpenDonorList.InitialDirectory = "C:\"
    OpenDonorList.RestoreDirectory = True

    DialogResult = OpenDonorList.ShowDialog

    If DialogResult = Windows.Forms.DialogResult.OK Then



    Return ?
    End Function

OpenDonorList .txt ファイルを GetFileName() 関数に渡すにはどうすればよいですか?

ありがとう!

4

3 に答える 3

1

ボタンのクリックから関数を呼び出す方法がわからないようです(私は間違っているかもしれません)。したがって、最初に関数を呼び出すときは、常に (return キーワードから) 値を返す必要があります。

OpenFileDialog を表示する関数をセットアップしました。では、どのような値を返す必要がありますか? パスとファイル名を返す必要があります。これは、文字列変数に格納できます。

そのため、コードを少し調整すると、問題が解決する場合があります。

例を次に示します。

ボタンコードで、実際の関数と変数を呼び出して、パス名を格納します (上記の文字列のように)。

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    Dim thePathName As String = GetFileName()
    MessageBox.Show(thePathName)
End Sub

ここで、関数に戻り値を追加します。if ステートメントに問題があります (終了 if はありません)。結果が OK の場合は、パス名を返します。それ以外の場合は null を返し、エラーを呼び出します (これは変更できます)。

Private Function GetFileName() As String

    Dim OpenDonorList As New OpenFileDialog

    OpenDonorList.Filter = "txt files (*.txt)|*.txt"
    OpenDonorList.Title = "Save File As"
    OpenDonorList.InitialDirectory = "C:\"
    OpenDonorList.RestoreDirectory = True

    DialogResult = OpenDonorList.ShowDialog

    If DialogResult = Windows.Forms.DialogResult.OK Then
        Return OpenDonorList.FileName
    Else
        MessageBox.Show("Error!")
        Return vbNull
    End If

End Function

次に、ボタン コードで、thePathName の値を使用して何かを行う別のルーチンを呼び出すことができます。たとえば、読み取り用にファイルを開くことができます。上記の例では、選択したファイルへのパス名を含むメッセージ ボックスが表示されます。

お役に立てれば。

于 2013-11-06T22:45:30.900 に答える
1
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    Dim fileName As String = GetFileName()
    If (String.IsNullOrEmpty(fileName)) Then
        MessageBox.Show("No file was selected.")
    Else
        MessageBox.Show(String.Format("You selected file: {0}", fileName))
    End If
End Sub

Private Function GetFileName() As String
    Dim openDonorList As New OpenFileDialog()
    With openDonorList
        .Filter = "txt files (*.txt)|*.txt"
        .Title = "Save File As"
        .InitialDirectory = "C:\"
        .RestoreDirectory = True
    End With
    Dim result As DialogResult = openDonorList.ShowDialog()
    If result = Windows.Forms.DialogResult.OK Then Return openDonorList.FileName
    Return Nothing
End Function
于 2013-11-06T22:50:54.770 に答える