快速业务通道

TXT转HTM、HTML「TXT转网页」的vbs实现代码

作者 佚名 来源 ASP编程 浏览 发布时间 2013-07-09
在众多文本编辑器中,Microsoft的Word是功能很强大的。况且XP PRO本身支持VBS调用Word文档对象,那么使用VBS是最好不过的了。思路如下:VBS打开Word,Word打开TXT,另存为网页,退出。

1. VBS调用Word.Application组件

如果电脑中安装了Word,那么用VBS打开Word其实很简单,如下:

Set objWord = CreateObject("Word.Application")
objWord.Visible = True

这样可以以可视的方式打开Word。在MSDN的页面{http://msdn.microsoft.com/en-us/library/kw65a0we(VS.80).aspx}上我们可以看到在VBS中仅可以调用两个Word的子集:

Document object 打开的文档对象

Selection object 默认选择对象

不过这两个子集还包含子集,所以可以使用很多功能。Word文档对象本身是VBA的组件,VBS和VBA又有着明显的界限,所以虽然VBS可以调用Word文档对象,但是具体怎么用又是个未知的领域。幸好从微软的一些只言片语和一些短篇中能够大概知道用法。

2. 使用Word实例打开TXT

在创建一个Word实例objWord后,我们应该用其打开TXT了,如下:

Set objDoc = objWord.Documents.Open("e:\temp\1.txt",Format=5)

现在已经打开一个TXT了,Format=5即是说TXT是Unicode的:

─────────────────────────────────────────────────────────────────
wdOpenFormatAllWord 6 与 Word 早期版本向后兼容的 Microsoft Office Word 格式。
wdOpenFormatAuto 0 现有格式。
wdOpenFormatDocument 1 Word 格式。
wdOpenFormatEncodedText 5 编码文本格式。
wdOpenFormatRTF 3 RTF 格式。
wdOpenFormatTemplate 2 用作 Word 模板。
wdOpenFormatText 4 未编码的文本格式。
wdOpenFormatUnicodeText 5 Unicode 文本格式。
wdOpenFormatWebPages 7 HTML 格式。
wdOpenFormatXML 8 XML 格式。
wdOpenFormatAllWordTemplates 13 Word 模板格式。
wdOpenFormatDocument97 1 Microsoft Word 97 文档格式。
wdOpenFormatTemplate97 2 Word 97 模板格式。
wdOpenFormatXMLDocument 9 XML 文档格式。
wdOpenFormatXMLDocumentMacroEnabled 10 启用了宏的 XML 文档格式。
wdOpenFormatXMLTemplate 11 XML 模板格式。
wdOpenFormatXMLTemplateMacroEnabled 12 启用了宏的 XML 模板格式。
─────────────────────────────────────────────────────────────────

由于Word打开TXT后默认字体大小为10.5磅,这个值在网页中是很小的,合适的值是13~15磅,所以需要更改字体大小,同时还需要更改一下默认的西方字体,这里选用--Times New Roman:

Set oRange = objDoc.Range()
oRange.Font.Size = "13"
oRange.Font.Name = "Times New Roman"

然后就是首行应用“标题一”样式,如果首行为空行那么用编辑器使其不为空,其实也可以在VBS中实现,不过代码量增加,这样就很麻烦不利调试:

Set oSelection = objWord.Selection
oSelection.HomeKey wdStory, wdMove
oSelection.Style = objWord.ActiveDocument.Styles("标题 1")

更改完成后,保存:

objDoc.SaveAs oPath & ".htm", 10
objDoc.Close

下面是wdSaveFormat常数列表:

─────────────────────────────────────────────────────────────────
wdFormatDocument 0 Microsoft Office Word 格式。
wdFormatDOSText 4 Microsoft DOS 文本格式。
wdFormatDOSTextLineBreaks 5 Microsoft DOS 文本格式,并且保留换行符。
wdFormatEncodedText 7 编码文本格式。
wdFormatFilteredHTML 10 筛选的 HTML 格式。
wdFormatHTML 8 标准 HTML 格式。
w

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号