HoTMetal中使用javascript
6.怎样编写一个保存模块脚本
在本节教程的例子中,我们创建了一个新的保存模块文件对话框。HoTMetaL里面有几个模板你可以从中进行选择。模板只是一个普通的网页,这个网页被保存HoTMetaL应用程序目录的Template模板中。当你从文件菜单中选择新项目的时候,其中一个标签选项是Page From Template。当你选择了它,就会弹出一个标签对话框,上面包含了各种模板: General、 WebTV、 W3C、 Frame Pages、 Layout。
你可以通过保存当前文件到Template目录下的一个目录来创建一个新的模板。下面的宏,即Save As 模板,向你展示了怎样使用HMExtras.FileDlg的DisplayFileDlg方法创建一个Save As对话框。这个对话框使用Template目录作为缺省的位置,以下是详细的代码:
<MACRO name="Save As Template" lang="JScript" id="90"><![CDATA[
var obj = new ActiveXObject("HMExtras.FileDlg");
var filter = "Web Page Template (*.htm, *.html)|*.htm;*.html|All Files (*.*)|*.*||";
if (obj.DisplayFileDlg(0, "File Save As", filter, Application.Path + "Template")) {
ActiveDocument.SaveAs(obj.FullPathName, true); // save and put on recent file list
}
]]></MACRO>
下面解释一下上面的代码:首先,我们利用HMExtras库的FileDlg COM对象来创建一个ActiveX 控件:
var obj = new ActiveXObject("HMExtras.FileDlg");
接着利用几个条目来创建一个过滤器:
var filter = "Web Page Template (*.htm, *.html)|*.htm;*.html|All Files (*.*)|*.*||";
然后我们通过调用obj.DisplayFileDlg来显示文件对话框,最后我们在如果对话框存在的时候保存文件。
HoTMetal中使用Javascript
6.怎样编写一个保存模块脚本
让我们增加第一个Save As 模板宏到文件菜单中。你可以点击文件菜单条并选择定制。接着选择菜单标签并导航到你想增加新的宏的地方去。点击Add Submenu(增加子菜单)按钮并填充缺少的项。对话框如图1所示。
(图1)
下面我们测试一下这个菜单项以及宏是如何工作的。拉下文件菜单,你可以看到多了一个Save模板项,点击它,你可以得到如图2的对话框:
找到你希望保存文件的目录并给出文件名字,点击Save按钮确认。