簡體   English   中英

vba字詞宏:刪除子節

[英]vba macro for word : delete sub section

我想根據自定義用戶界面中的用戶輸入刪除Word文檔中的子節。

例如:我想刪除第3節下的3.1.1節

我使用了以下代碼,但它刪除了整個部分,但我只想刪除特定的子部分:

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是否支持該功能。 似乎沒有任何方法可以模仿“導航窗格刪除”選項。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM