【问题标题】:vba macro for word : delete sub sectionword的vba宏:删除子部分
【发布时间】:2015-02-06 09:14:51
【问题描述】:

我希望根据自定义用户界面中的用户输入删除 Word 文档中的子部分。

例如:我想删除第 3 节下的第 3.1.1 节

我使用了以下代码,但它删除了整个部分,但我只想删除特定的子部分:

ActiveDocument.Sections(x).Range.Delete

这里我不能给出 x = 3.1.1,它只接受像 3 这样的整数值,并且会删除整个部分。

【问题讨论】:

    标签: vba ms-word


    【解决方案1】:

    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 是否支持。似乎没有任何方法可以模仿导航窗格删除选项。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-01-10
      • 1970-01-01
      • 2014-10-30
      • 2020-10-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多