繁体   English   中英

如何使用Excel VBA删除MS Word文档页面?

[英]How to delete MS Word document pages using Excel VBA?

我有一个要在 MS Word 中删除的页面列表,例如页码:5 到 10、12 到 16 等,通过 MS Excel VBA。我找到了一个代码,可以通过 MS Excel VBA 删除连续的页面,但是当我运行它时给出“集合的请求成员不存在”错误。”如何解决?

Sub DeletePages()

Dim WordApp As Word.Application
Dim myDoc As Word.Document

' Open the Word document
Set WordApp = New Word.Application
Set myDoc = WordApp.Documents.Open("C:\mydocument.docx")

' Delete pages 3 to 5
myDoc.Range(Start:=myDoc.Bookmarks("Page3").Range.Start, _
            End:=myDoc.Bookmarks("Page5").Range.End).Delete

'Unbind
Set WordApp = Nothing

End Sub


例如:

Sub Demo()
Dim wdApp As New Word.Application, wdDoc As Word.Document, i As Long
With wdApp
  .Visible = False
  .DisplayAlerts = wdAlertsNone
  Set wdDoc = .Documents.Open(FileName:="C:\mydocument.docx", AddToRecentFiles:=False, ReadOnly:=True, Visible:=False)
  With wdDoc
    For i = .ComputeStatistics(wdStatisticPages) To 1 Step -1
      Select Case i
        Case 5 To 10, 12 To 16
          .Range.GoTo(What:=wdGoToPage, Name:=i).GoTo(What:=wdGoToBookmark, Name:="\page").Delete
      End Select
    Next
    .Close SaveChanges:=True
  End With
  .DisplayAlerts = wdAlertsAll
  .Quit
End With
Set wdDoc = Nothing: Set wdApp = Nothing
End Sub

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM