「名前を付けて保存」ダイアログを表示する
スポンサーリンク
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
関連するリファレンス
準備中です。