【C#】オープンファイルダイアログ-ファイル存在チェック

ファイルを開く際、ダイアログを表示してファイルを選ばせる方法は「【C#】オープンファイルダイアログ-初期フォルダの設定」を参照下さい。

ファイルダイアログ画面でファイルを選択すれば、存在しないファイルが選ばれる事はありませんが、手入力でファイル名が入力できるので、ファイルの読み込み処理を前提とした場合、ファイルチェックが重要です。

ファイルの存在チェックは System.IO.File.Exists(fileName) で出来ますが、OpenFileDialog 内で簡単に存在チェックの機能を設定する事ができます。(デフォルトは「チェックする(True)」)




 ファイル存在チェック


ファイルの存在チェックをする場合には~.CheckFileExists = trueを用い、ファイルの存在チェックをしない場合には~.CheckFileExists = falseを用い、ダイアログを表示(ShowDialog)する前に記述します。

 ▽ ファイルの存在チェックをする場合
OFD.CheckFileExists = true;

 ▽ ファイルの存在チェックをしない場合
OFD.CheckFileExists = false;

一連の処理を通して記述すると下記となります。

/* インスタンスの初期化 */
OpenFileDialog OFD = new OpenFileDialog();

/* タイトルの設定 */
OFD.Title = "Excelファイルを選択してください";

/* 初期フォルダ:マイドキュメント */
OFD.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);

/* フィルター:Text、Excel */
OFD.Filter = "Text Files (*.txt)|*.txt|Excel File(*.xls;*.xlsx)|*.xls;*.xlsx";

/* フィルター初期値:Excel */
OFD.FilterIndex = 2;

/* ファイルの存在チェックをする */
OFD.CheckFileExists = true;

/* ダイアログを表示し「開く」場合 */
if (OFD.ShowDialog() == DialogResult.OK)
{
  /* ファイル名を表示する */
  MessageBox.Show(OFD.FileName);
}

尚、フォルダのチェックするCheckPathExistsプロパティがありますが、存在しないフォルダ+ファイル名を入れてもエラーが発生するので、こちらはイマイチ用途が不明です。

管理人 について

趣味:映画鑑賞・音楽鑑賞・ゲーム・旅行 仕事:会社員(IT関連)
カテゴリー: C#, システム開発 パーマリンク

コメントを残す