質問

私は課題に取り組んでおり、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()関数に取得するにはどうすればよいですか?

ありがとう!

役に立ちましたか?

解決

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

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-statementに問題があります(終わりはありません)。結果が問題ない場合は、パス名を返します。それ以外の場合は、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

ボタンコードでは、読み取り用のファイルを開くなど、Pathnameの値を使用して何かを実行する別のルーチンを呼び出すことができます。上記の例では、選択したファイルにパス名が付いたメッセージボックスを表示するだけです。

お役に立てれば。

他のヒント

あなたはすでにほとんどのコードを持っています、あなたがしなければならないのは使用することだけです FileName 選択したファイルを返すプロパティ:

If DialogResult = Windows.Forms.DialogResult.OK Then
    Return OpenDonorList.FileName
End If

また、[ファイル]ウィンドウの設定にこの行を追加して、1つのファイルのみを選択できることを確認します。

OpenDonorList.Multiselect = False
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
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top