Вставьте документ между 2 страницами другого - PullRequest
1 голос
/ 01 марта 2012

Мне интересно, смогу ли я сделать следующее:

  1. Найти закладку в документе
  2. Определить номер страницы, на которой находится эта закладка
  3. Вставитьеще один документ перед указанной страницей

Мой код пока:

Sub InsertDoc

    Dim MasterDoc As Document
    Dim bookmarkRng As Range
    Dim pageNo As Long

    Set MasterDoc = Documents.Open("Master.docx")

    Set bookmarkRng = MasterDoc.Bookmarks("TheBookmark").Range

    pageNo = bookmarkRng.Information(wdActiveEndPageNumber)

    '1.This is where I need to specify to insert before/after the found page, not sure how
    MasterDoc.InsertFile FileName:="AnotherDoc.docx"

    '2.Is it possible to use this syntax instead and specify before/after insertion of a whole file?
    MasterDoc.Bookmarks("TheBookmark").Range.InsertFile FileName:="AnotherDoc.docx"

    MasterDoc.Save
    MasterDoc.Close
    Set MasterDoc = Nothing

End Sub

Любая помощь очень ценится, спасибо.

1 Ответ

1 голос
/ 28 июня 2012

Лучше не думать в терминах страниц, что по иронии судьбы является плохо определенным понятием в Word.Но если вы вставляете материал, вы все равно должны вставить его в определенное место.Поскольку вы находите диапазон для закладки, и, похоже, вы хотите вставить ее после закладки, используйте следующее:

MasterDoc.Bookmarks("TheBookmark").Range.InsertAfter "XXX"

Также вы можете удалить bookmarkRng и pageNo , если только они вам не понадобятся позже по какой-либо причине.

...