5

フィルタを使用して「名前を付けて保存」ファイルダイアログを作成したいのですが、FileDialogクラス(Microsoft Office 12.0オブジェクトライブラリ)を使用してこれを行うことはできないようです。ドキュメントは実際にここでこれに言及しています、最後の段落を参照してください、しかし理由についての理由はありませんか?vbでこれを達成する別の方法はありますか?

Word、Excel、Accessのすべてにこの正確な名前を付けて保存機能が組み込まれているため、FileDialogクラスがこれを許可しないのは奇妙だと思います。

FileDialogは、フィルターを許可するFilePicker(msoFileDialogFilePicker)として作成できることを認識していますが、これでは、まだ存在していないファイルを選択できず、全体のポイントが無効になります。

4

2 に答える 2

0

@AlexKが述べたように、これを行う唯一の方法はWindowsAPI呼び出しを使用することです。こちらをご覧ください

于 2011-07-05T13:00:56.370 に答える
0

それは何らかの理由でその特定のクラスの制限であるように思われるので、どうでしょうか。

Dim vResult As Variant
vResult = Application.GetSaveAsFilename("default.blah", "blah files,*.blah,Text file,*.txt,All files,*.*", 0, "Title")
If VarType(vResult) = vbBoolean Then
    MsgBox "cancelled"
Else
    MsgBox vResult
End If
于 2011-05-04T10:31:28.687 に答える