我在word文档中有子部分,我想根据自定义用户界面中的用户输入将其删除。
例如:我想删除第 3.1.1 节下的第 3 小节
我使用了以下代码,但它删除了整个部分,但我只想删除特定的子部分:
ActiveDocument.Sections(x).Range.Delete
在这里我无法给出 x = 3.1.1,它只接受像 3 这样的整数值,这会删除整个部分。
Word 没有嵌套部分,因此您可能需要循环浏览这些部分,直到找到符合您需求的部分。因此,假设您有一个如下所示的Word文档:
Title___[continuous section break]
Stuff
Section 1___[continuous section break]
Stuff
Section 1.1___[continuous section break]
Stuff
您可以遍历这些部分并检查每个部分的第一段:
For each objSect in ActiveDocument.sections
if trim(replace(objSect.Range.Paragraphs.First.range.Text, chr(13), "")) like "* 1.1" then objSect.range.delete
Next objSect
当然,这意味着如果您想删除第 1 节,您需要将其与任何子节一起删除,一次删除一个。
如果您真正想要的是导航窗格为您提供的内容,我不知道 VBA 是否支持它。似乎没有任何方法可以模仿导航窗格删除选项。