使用VBA从Word文档中删除标题范围

时间:2020-04-18 13:22:49

标签: excel vba ms-word

我的目标是根据用户从Excel文档中输入的内容删除部分,但是我看不到能够在Word文档中选择特定部分并将其删除的方法。

按节,我指的是标题节,例如标题12.4中有文字,我希望删除整个部分(12.4)。

用词修饰一段时使用的代码如下;

Selection.Delete Unit:=wdCharacter, Count:=1

但是我不知道如何使它特定于文档中的某个部分?

是否可以在VBA中定义文档中的节,然后在类似于上面的代码行中调用它们?

谢谢

2 个答案:

答案 0 :(得分:2)

删除与特定标题相关的所有内容非常简单:

Sub DeleteHeadingRange()
Selection.Range.GoTo(What:=wdGoToBookmark, Name:="\HeadingLevel").Text = vbNullString
End Sub

被警告:与特定标题相关的文本涵盖了从当前或上一个标题到下一个相同或更高级别的内容(例如,标题1高于标题2)

答案 1 :(得分:0)

您需要注意术语,因为“节”一词在Word中具有非常具体的含义,该含义与标题无关。

我假设您的用户正确使用了标题,而不仅仅是在文本行中添加数字。在这种情况下,以下子节将删除同一大纲级别的两个段落之间的一段文本(包括起始文本)。

ExecutionHook