【问题标题】:Parse a Word Document By Font?按字体解析 Word 文档?
【发布时间】:2011-06-29 11:02:31
【问题描述】:

我目前正在尝试编写一个脚本,该脚本将运行一个 word 文档并将所有以某种字体编写的行输出到一个文本文件。

如果我有文件:

"这是文档的第一行。 这是文档的第二行。 这是文档的第三行。"

并且说正常线条是 Times New Roman,粗体是 Arial,斜体是 Sans Serif。

然后,理想情况下,我可以解析 Arial 中所有行的文档,文本文件输出将包含以下行:

这是文档的第二行。

关于如何通过脚本执行此操作的任何想法?我正在考虑首先将 doc 转换为 xml,但我认为这在脚本中是不可能的。

【问题讨论】:

    标签: parsing ms-word text-parsing


    【解决方案1】:

    您需要使用 FIND 对象和 FIND 对象的 FONT 属性。

    所以,是这样的:

    Public Sub FindTest()
        Dim r As Range
        Set r = ActiveDocument.Content
        With r.Find
            .ClearFormatting
            .Style = "SomeStyleName"
            Do While .Execute(Forward:=True, Format:=True) = True
                '---- we found a range
                Dim duperange As Range
                Set duperange = r.Duplicate
                Debug.Print r.Text
            Loop
        End With
    End Sub
    

    请注意,在我指定样式的地方,您可以通过 FIND.FONT 对象或各种其他格式选项指定字体格式。只需浏览 FIND 对象即可查看可用的内容。

    【讨论】:

    • 有没有办法自动将即时窗口的内容导出到txt文件中?
    • 何必呢?只需更改 DEBUG.PRINT 以写入您需要的任何文件。还是你的意思是别的?
    • 不,我明白了。感谢您的帮助。
    猜你喜欢
    • 2011-10-05
    • 2019-01-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-13
    相关资源
    最近更新 更多