訪問して頂きありがとうございます。まさふくろーです。
この記事では、「名前を付けて保存」ダイアログボックスを表示する方法をご紹介します。
目次
「名前を付けて保存」ダイアログボックスを表示する
New SaveFileDialog()
インスタンス化したSaveFileDialog.ShowDialog()
プロパティ
内容
AddExtension
拡張子が入力されなかったとき、拡張子を自動的に付ける場合は「True」(既定値)、付けない場合は「False」。
CheckFileExists
存在しないファイルを指定されたとき、警告を表示する場合は「True」(既定値)、表示しない場合は「False」。
CheckPathExists
存在しないパスを指定されたとき、警告を表示する場合は「True」(既定値)、表示しない場合は「False」。
CreatePrompt
存在しないファイルを指定されたとき、ファイルを作成することを確認する場合は「True」、確認せずに作成する場合は「False」(既定値)。
FileName
選択されたファイルパス(String型)。
Filter
「ファイルの種類」のフィルタ。「フィルタ1の説明 | フィルタ1のパターン | フィルタ2の説明 | フィルタ2のパターン・・・」のように指定。
FilterIndex
「ファイルの種類」の最初に表示するフィルタ。既定値は「1」。
InitialDirectory
「ファイルの場所」に表示するパス。
OverwritePrompt
すでに存在するファイル名を指定されたとき、上書きを確認する場合は「True」(既定値)、確認せずに上書きする場合は「False」。
ShowHelp
「ヘルプ」ボタンを表示する場合は「True」、表示しない場合は「False」(既定値)。
Title
ダイアログボックスのタイトルバーに表示する文字。
サンプルプログラム
名前空間のインポート
1 2 |
Imports System.IO Imports System.Text |
1 | StreamWriterクラスを使うため、System.IO名前空間をインポート。 |
2 | Encodingクラスを使うため、System.Text名前空間をインポート。 |
名前を付けて保存する処理
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
Public Class Form1 Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click Dim Ret As DialogResult Dim FilePath As String = String.Empty Dim OutputText As String = TextBox1.Text Try TextBox2.Text = String.Empty Label1.Text = String.Empty Using Dialog As New SaveFileDialog() With Dialog .Title = "名前を付けて保存ダイアログボックスのサンプル" .Filter = "テキストファイル|*.txt;*.csv|すべてのファイル|*.*" End With Ret = Dialog.ShowDialog() If Ret = DialogResult.OK Then FilePath = Dialog.FileName Using sw As New StreamWriter(FilePath, False, Encoding.GetEncoding("Shift_JIS")) sw.WriteLine(OutputText) End Using TextBox2.Text = FilePath Label1.Text = "ファイルを保存しました。" End If End Using Catch ex As Exception Label1.Text = Err.Description End Try End Sub End Class |
2 | 「名前を付けて保存するダイアログボックスを表示する」ボタンクリック時に以下処理を行う。 |
6 | ファイルに書き込む文字を、文字列型の変数「OutputText」に代入。 |
10~11 | 各オブジェクトの初期化。 |
13 | 「名前を付けて保存」ダイアログボックスのインスタンス化。(Usingステートメントでリソース開放を自動化) |
15~18 | ダイアログボックスの初期設定を行う。 |
20 | ダイアログボックスを表示する。 |
22 | ダイアログボックスで「保存」ボタンが押された場合、 |
24 | ファイル名を取得し、文字列型の変数「FilePath」に代入。 |
26 | ファイルを書き込み用に開く処理のインスタンス化。(シフトJISのエンコードで開く)(Usingステートメントでファイルを閉じる処理を自動化) |
28 | ファイルにデータを書き込む処理を実行。 |
32 | ファイルの保存先をテキストボックスに表示。 |
34 | 正常終了のメッセージをラベルに表示する。 |
40 | 処理の実行中にエラーが発生した場合、 |
42 | エラー内容を取得し、ラベルに表示する。 |
関連記事
「ファイルを開く」ダイアログボックスを表示する
【VB.NET】「ファイルを開く」ダイアログボックスを表示するには?
Usingステートメント
【VB.NET】UsingステートメントでDisposeメソッドの呼び出しを自動化する
With...End Withステートメント
【VB.NET】同じオブジェクトや構造体を繰り返し処理する場合に記述を簡略化する方法
テキストファイルにデータを書き込む
構造化例外処理
最後まで読んでいただき、ありがとうございました!