日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Word VBA:批量删除多个分段页面

發布時間:2023/12/14 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Word VBA:批量删除多个分段页面 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目錄

一、難點分析

1.數組的應用

2.操作順序

二、示例代碼

三、操作圖示

1.復制代碼-運行

2.輸入要刪除的頁碼范圍

3.操作完成


一、難點分析

1.數組的應用

比如,輸入多個區間【1,5-10,21-28】,如何循環這些區間。

這里主要是:

(1)將用戶輸入的需要刪除的區間通過split函數用逗號(,)進行分割后存儲在一個數組arr中;

(2)從arr的最大下標(最后一個)循環到arr的最小下標(第一個),每次循環的結果通過split函數用“-”分隔,存入數組brr中;

(3)i從brr(1)的值循環到brr(0)的值,刪除i對應的頁面。

注意:這里需要判斷一下,如果arr中的元素本身沒有“-”,即分割出的brr中有一個元素brr(0),此時需要讓brr(1)也等于brr(0)。否則,brr(1)不存在,會報錯。

2.操作順序

刪除盡量從后面向往前面操作,以免出現不必要的錯誤

二、示例代碼

Sub 刪除頁()Dim i As LongDim j As LongDim k As LongDim pg As RangeDim arr, brrDim prmt As StringOn Error GoTo err1Application.ScreenUpdating = Falseprmt = "請輸入需要各部分刪除的頁碼范圍(頁碼從小到大,且每部分不能重疊)," & vbCrLf & _"每部分首尾用【-】連接,各部分之間用逗號分隔,如:" & vbCrLf & _"1-5,10-20,95-100"arr = Split(Replace(Trim(InputBox(prmt, "刪除范圍", "1-5,10-20")), ",", Chr(44)), Chr(44))For i = UBound(arr) To LBound(arr) Step -1brr = Split(arr(i), "-")If LBound(brr) = UBound(brr) ThenReDim Preserve brr(1)brr(1) = brr(0)End IfFor j = Val(brr(1)) To Val(brr(0)) Step -1Set pg = Selection.GoTo(wdGoToPage, wdGoToAbsolute, j)With pg.Select.SetRange pg.Start, pg.Bookmarks("\page").End.Deletek = k + 1End WithNextNextApplication.ScreenUpdating = TrueSet pg = NothingMsgBox Format(k, "完成 共刪除了0頁")Exit Sub err1:MsgBox Err.Description End Sub

三、操作圖示

1.復制代碼-運行

新建模塊-粘貼代碼-運行

2.輸入要刪除的頁碼范圍

根據提示輸入要刪除的頁碼范圍,要求:

請輸入需要各部分刪除的頁碼范圍(頁碼從小到大,且每部分不能重疊),每部分首尾用【-】連接,各部分之間用逗號分隔,如: "1-5,10-20,95-100";

中間的引號、逗號都用半角符號(英文標點)。

輸入頁碼范圍-確定

3.操作完成

可以看到,剛剛用戶填寫的【67-78,80-81】頁已經正確刪除。

刪除完成

總結

以上是生活随笔為你收集整理的Word VBA:批量删除多个分段页面的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。