Как получить заголовок отдельных страниц импорта слов с помощью Excel VBA - PullRequest
0 голосов
/ 10 апреля 2019

У меня есть целое число pageNumber, мне нужно получить заголовок страницы pageNumber документа Word и вставить его в Excel

мой код выглядит следующим образом:

Set wdDoc = GetObject(wdFileName) 'open Word file
pageNumber = 5 //dynamically changes but not important here
pageHeader = wdDoc.Sections(pageNumber).Headers(1).Range.Text

приведенный выше код работает, но не согласуется, он получает заголовок другой страницы, а не фактическую страницу, указанную pageNumber

Я понял, что на самом деле это не страница, а ее вызовы, а разделы.поэтому я изменил его на:

pageHeader = wdDoc.Pages(pageNumber).Headers(1).Range.Text

, но он не работает.Я новичок в vba и изо всех сил пытаюсь прочитать документацию

1 Ответ

1 голос
/ 10 апреля 2019

В Word нет правильного объекта «Страницы», потому что он не упорядочивает содержимое по страницам.Страница не является объектом, который содержит контент.Страница - это то содержимое, которое в данный момент помещается на ней.Документ - это длинный поток контента, который разбивается по страницам в зависимости от его размера и размера.

Тем не менее, вот способ попытаться определить номер раздела в начале указанной страницы., который должен идентифицировать заголовок, используемый на этой странице:

sectionNumber = wdDoc.Windows(1).Panes(1).Pages(pageNumber).Rectangles(1).Range.Information(wdActiveEndSectionNumber)

pageHeader = wdDoc.Sections(sectionNumber).Headers(1).Range.Text

wdActiveEndSectionNumber = 2

Если вы добавите ссылку на объектную модель Word, вы можете использовать объекты Word с intellisense в VBEс ранним связыванием, и вы также можете использовать константы Word.Вы добавляете ссылки из меню Инструменты> Ссылки:

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...