【VB.NET】「名前を付けて保存」ダイアログボックスを表示するには?

訪問して頂きありがとうございます。まさふくろーです。

この記事では、「名前を付けて保存」ダイアログボックスを表示する方法をご紹介します。

「名前を付けて保存」ダイアログボックスを表示する

  • 「名前を付けて保存」ダイアログボックスを表示するには、SaveFileDialogクラスをインスタンス化します。
  • 書式は、以下になります。

New SaveFileDialog()

  • ダイアログボックスを表示するには、ShowDialogメソッドを使います。
  • 書式は、以下になります。

インスタンス化した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 StreamWriterクラスを使うため、System.IO名前空間をインポート。
2 Encodingクラスを使うため、System.Text名前空間をインポート。

名前を付けて保存する処理

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】同じオブジェクトや構造体を繰り返し処理する場合に記述を簡略化する方法

テキストファイルにデータを書き込む

【VB.NET】テキストファイルにデータを書き込むには?

構造化例外処理

【VB.NET】構造化例外処理とは?

最後まで読んでいただき、ありがとうございました!

本のまとめ関連記事はこちら