「名前を付けて保存」ダイアログを表示する
スポンサーリンク
VB6 では、CommonDialog コントロールの ShowSave メソッドを使用します。他のダイアログの機能も含まれてしまっているので、有効でないプロパティが存在します。
オプションの殆どが、Flags プロパティに集約されています。複数のオプションを選択したい場合は Or キーワードで付加する必要があります。また、面倒なことに [キャンセル] ボタンを選択したことを、エラーを起こすことによって判断することになります。
以下の例では、適用可能な属性を列挙していますが、必要のないものは削ってください。
サンプルコード
以下にサンプルコードを示します。
VB6.0 以前
' ダイアログのタイトルを設定する
CommonDialog1.DialogTitle = "ここにダイアログのタイトルを書いてください"
' 初期表示するディレクトリを設定する
CommonDialog1.InitDir = "C:\"
' 初期表示するファイル名を設定する
CommonDialog1.FileName = "ここに初期表示するファイル名を書いてください"
' ファイルのフィルタを設定する
CommonDialog1.Filter = "テキスト ファイル|*.txt;*.log|すべてのファイル|*.*"
' ファイルの種類 の初期設定を 2 番目に設定する (初期値 1)
CommonDialog1.FilterIndex = 2
' ダイアログボックスを閉じる前に現在のディレクトリを復元する
CommonDialog1.Flags = CommonDialog1.Flags Or FileOpenConstants.cdlOFNNoChangeDir
' 存在しているファイルを指定した場合は、上書きするかどうかの問い合わせを表示する
CommonDialog1.Flags = CommonDialog1.Flags Or FileOpenConstants.cdlOFNOverwritePrompt
' 存在しないパスを指定した場合は警告を表示する
CommonDialog1.Flags = CommonDialog1.Flags Or FileOpenConstants.cdlOFNPathMustExist
' 複数のファイルを選択可能にする
'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.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 = cdlOFNOverwritePrompt Or cdlOFNPathMustExist Or cdlOFNHideReadOnly
' [キャンセル] ボタンを選択した場合はエラーを発生させる
CommonDialog1.CancelError = True
' エラーをトラップしない
On Error Resume Next
' ダイアログを表示する
Call CommonDialog1.ShowSave
' [キャンセル] ボタンが選択されなかった場合は、選択したファイル名を表示する
If Err.Number <> ErrorConstants.cdlCancel Then
Call MsgBox(CommonDialog1.FileName)
End If
' エラー処理を通常のロジックに戻す
On Error GoTo 0
関連するリファレンス
準備中です。
