「ファイルを開く」ダイアログを表示する
スポンサーリンク
VB6 では、CommonDialog コントロールの ShowOpen メソッドを使用します。他のダイアログの機能も含まれてしまっているので、有効でないプロパティが存在します。
オプションの殆どが、Flags プロパティに集約されています。複数のオプションを選択したい場合は Or キーワードで付加する必要があります。また、面倒なことに [キャンセル] ボタンを選択したことを、エラーを起こすことによって判断することになります。
以下の例では、適用可能な属性を列挙していますが、必要のないものは削ってください。
サンプルコード
以下にサンプルコードを示します。
VB6.0 以前
' ダイアログのタイトルを設定する CommonDialog1.DialogTitle = "ダイアログのタイトルをココに書く" ' 初期表示するディレクトリを設定する CommonDialog1.InitDir = "C:\" ' 初期表示するファイル名を設定する CommonDialog1.FileName = "初期表示するファイル名をココに書く" ' ファイルのフィルタを設定する CommonDialog1.Filter = "テキスト ファイル|*.txt;*.log|すべてのファイル|*.*" ' ファイルの種類 の初期設定を 2 番目に設定する (初期値 1) CommonDialog1.FilterIndex = 2 ' 開くことが可能な最大ファイルサイズを設定する ' この容量を超えたファイルを選択すると空文字になります CommonDialog1.MaxFileSize = 1024 ' ダイアログボックスを閉じる前に現在のディレクトリを復元する CommonDialog1.Flags = CommonDialog1.Flags Or FileOpenConstants.cdlOFNNoChangeDir ' 存在しないファイルを指定した場合は警告を表示する CommonDialog1.Flags = CommonDialog1.Flags Or FileOpenConstants.cdlOFNFileMustExist ' 存在しないパスを指定した場合は警告を表示する CommonDialog1.Flags = CommonDialog1.Flags Or FileOpenConstants.cdlOFNPathMustExist ' 存在しないファイルを指定した場合は、新しく作成するかどうかの問い合わせを表示する 'CommonDialog1.Flags = CommonDialog1.Flags Or FileOpenConstants.cdlOFNCreatePrompt ' 複数のファイルを選択可能にする 'CommonDialog1.Flags = CommonDialog1.Flags Or FileOpenConstants.cdlOFNAllowMultiselect ' [ヘルプ] ボタンを表示する 'CommonDialog1.Flags = CommonDialog1.Flags Or FileOpenConstants.cdlOFNHelpButton ' 有効な Win32 ファイル名でなくとも返す (検証しない) 'CommonDialog1.Flags = CommonDialog1.Flags Or FileOpenConstants.cdlOFNNoValidate ' [読み取り専用] チェックボックスを非表示にする CommonDialog1.Flags = CommonDialog1.Flags Or FileOpenConstants.cdlOFNHideReadOnly ' [読み取り専用] チェックボックスをオンにする 'CommonDialog1.Flags = CommonDialog1.Flags Or FileOpenConstants.cdlOFNReadOnly ' 共有違反エラーを無視する 'CommonDialog1.Flags = CommonDialog1.Flags Or FileOpenConstants.cdlOFNShareAware ' ショートカットファイル自体を選択可能にする 'CommonDialog1.Flags = CommonDialog1.Flags Or FileOpenConstants.cdlOFNNoDereferenceLinks ' 長いファイル名を使用しない 'CommonDialog1.Flags = CommonDialog1.Flags Or FileOpenConstants.cdlOFNNoLongNames ' 長いファイル名を使用する 'CommonDialog1.Flags = CommonDialog1.Flags Or FileOpenConstants.cdlOFNLongNames ' Window 95 のファイルを開くダイアログのテンプレートを使用する 'CommonDialog1.Flags = CommonDialog1.Flags Or FileOpenConstants.cdlOFNExplorer ' Flags の属性はこのように同時に選択するのが一般的である 'CommonDialog1.Flags = cdlOFNFileMustExist Or cdlOFNPathMustExist Or cdlOFNHideReadOnly ' [キャンセル] ボタンを選択した場合はエラーを発生させる CommonDialog1.CancelError = True ' エラーをトラップしない On Error Resume Next ' ダイアログを表示する Call CommonDialog1.ShowOpen ' [キャンセル] ボタンが選択されなかった場合は、選択したファイル名を表示する If Err.Number <> ErrorConstants.cdlCancel Then Call MsgBox(CommonDialog1.FileName) End If ' エラー処理を通常のロジックに戻す On Error GoTo 0
関連するリファレンス
準備中です。