「ファイルを開く」ダイアログを表示する
スポンサーリンク
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
関連するリファレンス
準備中です。
