【VB.NET】「ファイルを開く」ダイアログボックスを表示するには?

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

この記事では、「ファイルを開く」ダイアログボックスを表示する方法をご紹介します。

「ファイルを開く」ダイアログボックスを表示する

  • 「ファイルを開く」ダイアログボックスを表示するには、OpenFileDialogクラスをインスタンス化します。
  • 書式は、以下になります。

New OpenFileDialog()

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

インスタンス化したOpenFileDialog.ShowDialog()

  • ダイアログボックスの初期設定は、以下表に示したプロパティを使います。

    プロパティ 内容
    AddExtension 拡張子が入力されなかったとき、拡張子を自動的に付ける場合は「True」(既定値)、付けない場合は「False」。
    CheckFileExists 存在しないファイルを指定されたとき、警告を表示する場合は「True」(既定値)、表示しない場合は「False」。
    CheckPathExists  存在しないパスを指定されたとき、警告を表示する場合は「True」(既定値)、表示しない場合は「False」。
    FileName 選択されたファイルパス(String型)。
    FileNames 選択されたすべてのファイルパス(String型の配列)。
    Filter 「ファイルの種類」のフィルタ。「フィルタ1の説明 | フィルタ1のパターン | フィルタ2の説明 | フィルタ2のパターン・・・」のように指定。  
    FilterIndex 「ファイルの種類」の最初に表示するフィルタ。既定値は「1」。
    InitialDirectory 「ファイルの場所」に表示するパス。
    Multiselect 複数のファイルを選択可能にする場合は「True」、複数選択不可の場合は「False」(既定値)。
    ReadOnlyChecked  「読み取り専用ファイルとして開く」にチェックを付ける場合は「True」、付けない場合は「False」(既定値)。
    SafeFileName 選択されたファイル名(拡張子は含む。)(パスは含まない。)
    SafeFileNames すべてのファイル名を要素とするString型の配列(拡張子は含む。)(パスは含まない。)  
    ShowHelp 「ヘルプ」ボタンを表示する場合は「True」、表示しない場合は「False」(既定値)。
    ShowReadOnly  「読み取り専用ファイルとして開く」チェックボックスを表示する場合は「True」、表示しない場合は「False」(既定値)。
    Title ダイアログボックスのタイトルバーに表示する文字。

サンプルプログラム(1つのファイルを選択)

処理の流れ

サンプルプログラム

2 「ファイルを開くダイアログボックスを表示」ボタンクリック時に以下処理を行う。
4 ファイルパスを、文字列型の変数「FilePath」に代入。
10~12 各オブジェクトの初期化。
14  「ファイルを開く」ダイアログボックスのインスタンス化。(Usingステートメントでリソース開放を自動化)
16~20 ダイアログボックスの初期設定を行う。
22 ダイアログボックスを表示する。
24 ダイアログボックスで「開く」ボタンが押された場合、
26~27 ファイル名を取得し、テキストボックスに表示する。
29 正常終了のメッセージをラベルに表示する。
35  処理の実行中にエラーが発生した場合、
37 エラー内容を取得し、ラベルに表示する。

サンプルプログラム(複数のファイルを選択)

処理の流れ

サンプルプログラム

2 「ファイルを開くダイアログボックスを表示」ボタンクリック時に以下処理を行う。
4 ファイルパスを、文字列型の変数「FilePath」に代入。
10~12 各オブジェクトの初期化。
14  「ファイルを開く」ダイアログボックスのインスタンス化。(Usingステートメントでリソース開放を自動化)
18~23 ダイアログボックスの初期設定を行う。
25 ダイアログボックスを表示する。
27 ダイアログボックスで「開く」ボタンが押された場合、
29 ファイル名を取得し、取得した数だけ、以下処理を繰り返す。
31 取得したファイル名を、文字列型の変数「Str」に改行付きで追加していく。
35 変数「Str」の値をテキストボックスに表示する。
37 正常終了のメッセージをラベルに表示する。
43  処理の実行中にエラーが発生した場合、
45 エラー内容を取得し、ラベルに表示する。

関連記事

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

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

Usingステートメント

【VB.NET】UsingステートメントでDisposeメソッドの呼び出しを自動化する

With...End Withステートメント

【VB.NET】同じオブジェクトや構造体を繰り返し処理する場合に記述を簡略化する方法

For Each...Nextステートメント

【VB.NET】コレクションまたは配列に対して処理を繰り返す方法

構造化例外処理

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

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

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