• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    TXT转HTM、HTML「TXT转网页」的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调用其中内容,依次转换即可。

    最后:该方法转换的质量比较高,但是也附带一些弊端,那便是垃圾代码很多,生成的网页文件很大。
    您可能感兴趣的文章:
    • VBS合并一个文件夹里的TXT的实现代码
    • vbs解决处理TXT文本数据相关问题实现代码
    • VBS实现将Excel表格保存为txt文本
    • 用vbs产生的若干个随机数并写入到一个.txt中的代码
    • 将HTML或txt文件转换为ASP输出的vbs代码
    • 用VBS将一篇txt后缀的内容保存为html格式
    • vbs实现的支持拖动的txt文本切割器
    • vbs操作txt文本文件常用方法与函数代码
    上一篇:用VBS控制鼠标的实现代码(获取鼠标坐标、鼠标移动、鼠标单击、鼠标双击、鼠标右击)
    下一篇:VBS基础视频教程 批处理之家broly出品
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

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