以编程方式将.doc中的粗体文本转换为标记文本

时间:2014-12-11 12:31:10

标签: windows parsing ms-word ms-office doc

我目前正在处理一个大型.docx文件(大约400页)。它被分成很容易被人类消化的部分,看起来像这样:

  

粗体文字

     

书面段落

这非常人性化且非常棒。不幸的是,我们在我们大学有一个内部程序,它使用.docx文件的标记来对它们进行排序/对它们进行一些处理。我的意思是,仅使用粗体标记来切割.doc / .docx是不够的,您必须使用MS Office中的内置工具来执行此操作(如下所示):

Image showing the menu page of MS Office where you can highlight a piece of text and set it to a Header 1/header2 etc etc.

所以我需要编写的是一个简单的脚本,它将在.docx文档中找到粗体文本,并将此文本转换为正确标记的标题"标题1" s或类似文件。无论是否维护.docx文件格式或类似的内容,我都不关心。

可以这样做吗?我应该开始研究哪些API /语言/工具来完成这个相对简单的任务?

1 个答案:

答案 0 :(得分:1)

使用简短的VBA宏,您可以迭代所有段落,并将仅包含粗体文本的所有段落的样式更改为标题样式:

Sub FormatBoldAsHeading()

    Dim p As Paragraph

    For Each p In ActiveDocument.Paragraphs
        If p.Range.Font.Bold <> wdUndefined And p.Range.Font.Bold Then
            p.Style = WdBuiltinStyle.wdStyleHeading1
        End If
    Next

End Sub