代码之家  ›  专栏  ›  技术社区  ›  proudgeekdad

源文本包含简单的HTML。如何简单地格式化MS Word中的文本?

  •  0
  • proudgeekdad  · 技术社区  · 15 年前

    我继承了一个存储基本HTML格式(即- < B > < > 标记)并将其写入Word文档。这是我的第一个字自动化作业,所以要温柔!

    目前,文档完成后会运行一个复杂的函数来搜索和替换这些标记。但是,由于这是在文档完成后运行的,因此在运行时确定的任何逻辑(即在此处插入分页符)都可能导致灾难性的结果。例如,如果我有一大块粗体文本,这个粗体文本会占用更多的空间,并将行分解推到下一页,导致大部分页面为空白。

    有没有一种简单的方法可以将HTML格式的文本写入Word文档,而无需查找和替换每个支持的标记?我认为Word中会有某种东西能够自动处理这个问题。如果你能给我指出正确的方向,请提前谢谢。

    2 回复  |  直到 15 年前
        1
  •  2
  •   Tomalak    15 年前

    试试这个:

    首先,将要插入的HTML保存为普通的“.htm”文件。

    然后使用范围对象,它是 InsertFile method

    Dim r As Range
    
    Set r = ActiveDocument.Range
    r.InsertFile FileName:=TempFilePath, Link:=False, ConfirmConversions:=False
    

    完成后删除“.htm”文件。

        2
  •  0
  •   Francis    15 年前

    也许您可以调用嵌入式IE(IWebBrowser2)来布局文本,然后作为richtext复制到剪贴板,最后作为richtext(格式化)粘贴到Word。