変わってしまうのか。

VB 2005 で、OpenFileDialogを使ってファイルを読み込み外部の実行ファイルで処理させるためにコードを書いていた。

外部の実行ファイルも外部のファイルを読み込む処理を行っているため、カレントディレクトリが重要になってくる。

外部の実行ファイルを起動する前にカレントディレクトリを移動し、起動後に元に戻す処理を書いた。

しかし、どうもうまく動作しない。そこで、行の前後でのカレントディレクトリのパスを調べてみると、OpenFileDialogの後は読み込んだファイルがあるパスになっていた。

今まで、OpenFileDialogを使っていたが、今回ほどカレントリディレクトリを意識してコードを書いたことがなかったので、トラぶってしまった。

コントロールの仕様をよくチェックしてから使わないといけないな。org

後日プロパティを探したら、RestoreDirectoryを有効にすることでカレントディレクトリが変わらないことがわかりました。


今回のワークフローは以下のとおり
・Try Catchでエラーを検出
・行ごとのカレントディレクトリをチェック
・最終チェック