我正在使用ComDlg32.ocx(Commom Dialog Control)开发一个 html 编辑器,使用 HTML 和VBScript。我的确切要求是提示打开/保存/颜色/打印/字体对话框。我编写了提示保存文件对话框的代码。我还在我的网页上添加了一个使用 LPK 工具的许可证文件。
我的 html 源代码如下所示:
<body>
<!-- lpk file -->
<object classid="clsid:5220cb21-c88d-11cf-b347-00aa00a28331">
<param name="LPKPath" value="License/comdlg.lpk" />
</object>
<!-- Microsoft Common Dialog Control -->
<object classid="CLSID:F9043C85-F6F2-101A-A3C9-08002B2F49FB" codebase="http://activex.microsoft.com/controls/vb6/COMDLG32.CAB" id="objComDlg"></object>
</body>
现在,我的错误来了。每当我尝试调用 vbscript 以提示保存文件对话框时,我都会收到错误消息: 对象不支持此属性或方法:'objComDlg.Filter'
如果我注释掉objComDlg.Filter,那么错误会转移到objComDlg.DialogTitle并因此继续。
我的 VBScript 看起来像:
FILE_FORMATS = "Rich Text Format (*.rtf)|*.rtf|Microsoft Word (*.doc)|*.doc|ANSI Text Document (*.txt)|*.txt"
objComDlg.Filter = FILE_FORMATS <--- Error shows here
objComDlg.DialogTitle = "Save As "
objComDlg.Flags = cdlOFNFileMustExist Or cdlOFNHideReadOnly
objComDlg.CancelError = True
objComDlg.ShowSave
有谁知道为什么会这样?是否有使用此特定 ActiveX 控件的适当文档?由于这个错误,我目前的开发处于停滞状态。
顺便说一句,我正在使用 Windows XP SP3 和 IE8 进行开发。