Как получить диапазон страницы с помощью автоматизации Word

2

Как вы находите диапазон страниц n в Microsoft Word, используя автоматизацию офиса? Кажется, нет функции getPageRange (n), и неясно, как они делятся.

  • 1
    Какое отношение к Matlab я могу спросить? Это словосочетание только для меня ...
  • 0
    Как ни странно, я использую подпрограммы COM-сервера MATLAB для создания документов Word, например: wordApp = actxserver ('word.application'); wordApp.Visible = true;
Теги:
automation
ms-word
ms-office

3 ответа

3
Лучший ответ

Вот как вы это делаете из VBA, должно быть довольно тривиально преобразовать в вызовы COM Matlab.

Public Sub DemoPerPageText()

    Dim i As Integer
    Dim totalPages As Integer
    Dim bmRange As Range

    totalPages = Selection.Information(wdNumberOfPagesInDocument)

    For i = 1 To totalPages
      Set bmRange = ActiveDocument.Bookmarks("\Page").Range
      Debug.Print CStr(i) & " : " & bmRange.Text & vbCrLf
    Next i

End Sub
1

Вы можете использовать утилиту Matlab OfficeDoc для чтения/записи содержимого Word из Matlab: http://www.mathworks.com/matlabcentral/fileexchange/15192-officedoc-readwriteformat-ms-office-docs-xlsdocppt

0

Извините, если у меня нет подходящего контекста для вашего вопроса, но, глядя на Office Development docs, кажется, что вы должны создавать объекты Range, которые содержат то, что вы хотите. В разделе "Объект диапазона" на этой странице говорится: "Объект Range представляет собой смежную область в документе и определяется стартовым символом позицию и конечную позицию символа. Вы не ограничены одним объектом Range. Вы можете определить несколько объектов Range в одном документе... [Диапазон] не сохраняется вместе с документом и существует только во время работы кода".

  • 0
    Это правда, но мне не ясно, как легко получить диапазон для n-й страницы.
  • 0
    Да, они не делают это особенно легко понять из документов. :( msdn.microsoft.com/en-us/library/… содержит информацию об объекте Page. Я все еще не все это собрал, но подозреваю, что объект Document ( msdn.microsoft.com/en-us/library /… ) Будет иметь элемент Pages, который дает вам массив страниц, и, возможно, вы сможете получить объект Range.
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню