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

在众多文本编辑器中,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 格式。
wdFormatRTF 6 RTF 格式。
wdFormatTemplate 1 Word 模板格式。
wdFormatText 2 Microsoft Windows 文本格式。
wdFormatTextLineBreaks 3 Windows 文本格式,并且保留换行符。
wdFormatUnicodeText 7 Unicode 文本格式。
wdFormatWebArchive 9 Web 档案格式。
wdFormatXML 11 可扩展标记语言 (XML) 格式。
wdFormatDocument97 0 Microsoft Word 97 文档格式。
wdFormatDocumentDefault 16 Word 默认文档文件格式。对于 Microsoft Office Word 2007,这是 DOCX 格式。
wdFormatPDF 17 PDF 格式。
wdFormatTemplate97 1 Word 97 模板格式。
wdFormatXMLDocument 12 XML 文档格式。
wdFormatXMLDocumentMacroEnabled 13 启用了宏的 XML 文档格式。
wdFormatXMLTemplate 14 XML 模板格式。
wdFormatXMLTemplateMacroEnabled 15 启用了宏的 XML 模板格式。
wdFormatXPS 18 XPS 格式。
─────────────────────────────────────────────────────────────────

Word实例退出:

objWord.Quit

3. 完整代码

复制代码 代码如下:

' ********************************************************************************
' TXT转网页,仅作转换演示
' Created By 千羽之城 / 2009年9月22日
' http://hi.baidu.com/asnahu
' ********************************************************************************

Dim objWord,objDoc,oRange,oPath

Const wdStory = 6
Const wdMove = 0
Const wdOpenFormatUnicodeText = 5
Const wdFormatFilteredHTML = 10

strFile = "E:\temp\1.txt" ' 该路径必须是完整路径

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

Set objDoc = objWord.Documents.Open(strFile, Format=5)
Set oRange = objDoc.Range()
oRange.Font.Size = "13"
oRange.Font.Name = "Times New Roman"

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

oPath = Split(strFile,".")(0)

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

objWord.Quit

如果要实现批量的多文本转换,那么建议生成一个TXT文件列表,然后用FSO调用其中内容,依次转换即可。

最后:该方法转换的质量比较高,但是也附带一些弊端,那便是垃圾代码很多,生成的网页文件很大。

时间: 2024-09-17 11:54:26

TXT转HTM、HTML「TXT转网页」的vbs实现代码_vbs的相关文章

怎么把pdf转txt,pdf怎么转txt

本文主要介绍用小手阅读器解决把pdf转换成txt的最简单快捷方法.一键导出txt.满足pdf转换成txt的需求.这是利用一款叫作小手阅读器的导出txt功能所带来简单快捷的效果之体验.在各位受困于各种pdf阅读器软件,却被pdf转换成txt的问题困扰得焦头烂额之时,可以考虑这款叫小手阅读器的pdf阅读器软件进行转换. 工具/原料 软件名称:小手阅读器 软件大小:3M 软件类型:免费软件 应用平台:Win2003/XP/2000/9X/vista/windows7 步骤/方法 下载小手阅读器.按照要

网页制作技巧及常用代码集锦

◇如何在网页中加入单个或几个空格?◆在源代码中输入&nbsp,每个&nbsp之间请用空格分开.◆在Dreamweaver中用<CTRL>+<SHIFT>+<SPACE>插入空格或任输几个字符,然后将其色彩设成背景的色彩! ◇如何在网页中加入书签,在页面内任意跳转?◆在源代码中需要插入书签的地方输入<a name="top"></a>,在调用的地方输入<a href="#top">

30万、70万和1000万,AI行业的第一仗是「挖人大战」

AI行业的第一仗是「挖人大战」 在今年春季招聘黄金档,对AI(人工智能)人才的抢夺"不计代价".抢不到人,就什么都别谈了.春节前的一天,闵万里突然有些好奇,想看看邮箱里自2016年1月以来收到过多少份职位邀约.最终的数字吓了他一跳--700多封,相当于一天收两封来自各路猎头的邮件.挖他的短信.电话.邮件,"有时候一天收到好几个,刚开始我还认真回复,后来实在烦了." 闵万里是阿里云的人工智能科学家,像他这样,从事人工智能研究的科学家如今奇货可居.连他手下团队里的中层和

如何在网页中加入运行脚本代码的功能

如何在网页中加入运行脚本代码的功能  以下是HTML网页特效代码,点击运行按钮可查看效果: [Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]

不提示直接关闭网页窗口的JS示例代码

 本篇文章主要是对不提示直接关闭网页窗口的JS示例代码进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助 在IE7.IE8中,使用JavaScript提供的close()方法都可以关闭当前窗口或标签,但都提示讨厌的对话框,找了下代码,终于可以无提示直接关闭了.   JavaScript代码   代码如下: function CloseWin()       {        window.opener=null;       window.open('','_self');       w

拇指玩」制作的「谷歌安装器」app

作者:匿名用户链接:https://www.zhihu.com/question/57468448/answer/153000587来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 先说Google 服务框架Google 服务框架全称 Google Mobile Service,其中包括了应用包,也就是我们希望用到的各种 Google 应用.Android 虽然开源且自由,但 Google 的应用程序并不包含其中,它们都属于 Google 的知识产权.所以厂家们预装

禁用backspace网页回退功能的实现代码_javascript技巧

实例如下: <script language="JavaScript"> document.onkeydown = check; function check(e) { var code; if (!e) var e = window.event; if (e.keyCode) code = e.keyCode; else if (e.which) code = e.which; if (((event.keyCode == 8) && //BackSpac

该叫「我的电脑」还是「你的电脑」?

本文讲的是该叫「我的电脑」还是「你的电脑」?, "我的电脑"的变化历程 还记得以前使用 Windows 系统时我的电脑的图标吗?这个经典的小图标表示你在这台电脑上拥有的所有文件,所有的项目.工作资料以及各种数据等等. 而微软将最新 Windows 系统中的这个图标更名为**"电脑"(Computer),然后又将之改成"本机"(This PC)**.这样的修改是否因为"我的"这个用法给人带来了理解的误导.语义的不协调或者是根本没

报名|「OneAPM x DaoCloud」技术公开课:Docker性能监控!

如今,越来越多的公司开始 Docker 了,「三分之二的公司在尝试了 Docker 后最终使用了它」,也就是说 Docker 的转化率达到了 67%,同时转化时长也控制在 60 天内. 既然 Docker 这么火,Docker 监控是不是也该提上日程?或许具体问题要具体分析,但是似乎大家都在寻找新一代 Docker 监控的工具. 本次技术公开课将会给大家带来全方位的 Docker 实践,从监控之道到监控方案,让你了解到 Docker 实时性能状况,精准定位到性能薄弱的环节,从而优化应用,让监控之