2013-09-28 2 views
1

У меня есть документ Word и вы хотите получить номер страницы для любого произвольного абзаца внутри документа. Я понимаю, что абзацы могут охватывать страницы, поэтому мне действительно нужно спросить о начале (или конце) абзаца. Что-то вроде этого псевдокода:Есть ли способ получить номер страницы начала абзаца с помощью Applescript в Mac Word 2011?

set the_page_number to page number of character 1 of paragraph 1 of my_document 

Я не был в состоянии выяснить, как связать объект диапазона с любой информацией о ее оказании, и я официально сбит с толку.

Кто-нибудь знает правильный путь?

ответ

3

я только что нашел этот вопрос о работе с этим в C#: How do I find the page number for a Word Paragraph?

ковыряться в ответ на что я нашел ссылку на range.get_Information(Word.WdInformation.wdActiveEndPageNumber)

Оказывается, есть get range information команда в словаре AppleScript, так вы можете сделать это:

set the_range to text object of character 1 of paragraph 123 of the_document 
set page_number to get range information the_range information type active end adjusted page number 

это будет получить номер страницы, которая будет распечатана (например, если вы установите документ, чтобы начать на странице 42, это будет производить номер йо u ожидаем). Или, вы можете получить номер без корректировки, т.е. вашей нумерации страничного документа устанавливаются для запуска на 42, но вы хотите, номер страницы, как если нумерация начинаются в 1.

set the_range to text object of character 1 of paragraph 456 of the_document 
set page_number to get range information the_range information type active end page number 

Уф.

Смежные вопросы