在众多文本编辑器中,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调用其中内容,依次转换即可。
最后:该方法转换的质量比较高,但是也附带一些弊端,那便是垃圾代码很多,生成的网页文件很大。
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调用其中内容,依次转换即可。
最后:该方法转换的质量比较高,但是也附带一些弊端,那便是垃圾代码很多,生成的网页文件很大。
标签:
TXT,HTM
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
暂无“TXT转HTM、HTML「TXT转网页」的vbs实现代码”评论...
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。
更新动态
2024年11月23日
2024年11月23日
- 凤飞飞《我们的主题曲》飞跃制作[正版原抓WAV+CUE]
- 刘嘉亮《亮情歌2》[WAV+CUE][1G]
- 红馆40·谭咏麟《歌者恋歌浓情30年演唱会》3CD[低速原抓WAV+CUE][1.8G]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[320K/MP3][193.25MB]
- 【轻音乐】曼托凡尼乐团《精选辑》2CD.1998[FLAC+CUE整轨]
- 邝美云《心中有爱》1989年香港DMIJP版1MTO东芝首版[WAV+CUE]
- 群星《情叹-发烧女声DSD》天籁女声发烧碟[WAV+CUE]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[FLAC/分轨][748.03MB]
- 理想混蛋《Origin Sessions》[320K/MP3][37.47MB]
- 公馆青少年《我其实一点都不酷》[320K/MP3][78.78MB]
- 群星《情叹-发烧男声DSD》最值得珍藏的完美男声[WAV+CUE]
- 群星《国韵飘香·贵妃醉酒HQCD黑胶王》2CD[WAV]
- 卫兰《DAUGHTER》【低速原抓WAV+CUE】
- 公馆青少年《我其实一点都不酷》[FLAC/分轨][398.22MB]
- ZWEI《迟暮的花 (Explicit)》[320K/MP3][57.16MB]