zukucode
主にWEB関連の情報を技術メモとして発信しています。

VB.NET ファイル保存ダイアログを表示してファイルを書き込む

VB.NETでファイルの保存ダイアログ(名前を付けて保存)を表示して、ファイルを作成・書き込みを行います。

ファイルを開くダイアログを表示する方法はVB.NET ファイルオープンダイアログを表示してファイルを読み込むで紹介しています。

Using sfd As SaveFileDialog = New SaveFileDialog
    'デフォルトのファイル名を指定します
    sfd.FileName = "output.csv"

    If sfd.ShowDialog() = DialogResult.OK Then
        Using sw As StreamWriter = New StreamWriter(sfd.FileName, False, Encoding.UTF8)
            'ファイルに書き込み
            sw.Write("ファイルの内容")
        End Using
    End If
End Using

SaveFileDialog

SaveFileDialogでファイルの保存ダイアログを表示します。

FileNameプロパティでデフォルトのファイル名を指定できます。ダイアログでファイルを選択したあとは、選択したファイルの絶対パスがセットされます。

ShowDialog()でダイアログの結果(保存ボタンが押されたのか、キャンセルされたのか)を取得できます。

保存ボタンを押した場合のみファイルの書き込みを行うようにしています。

StreamWriter

StreamWriterでファイルの作成・書き込みを行います。

名前空間はSystem.IOなので、コンパイルエラーになってしまう場合はvbファイルの先頭にImports System.IOを追加するか、StreamWriterの代わりにSystem.IO.StreamWriterとしてください。

StreamWriter(ファイルパス, 追記するかどうか, 文字エンコーディング)の形式で指定します。

第1引数には先ほど保存ダイアログで指定したファイルパス(sfd.FileName)を指定し、第2引数にはFalseを設定します。

第2引数をTrueにすると、すでに同じファイルが存在する場合、上書きではなく、末尾に追記します。

第3引数は文字エンコーディングを指定します。Shift_JISutf-8など、仕様に従って指定します。

sw.Writeでファイルに文字列を書き込んでいきます。


関連記事