Войти

Показать полную графическую версию : [решено] Выделить страницу №2 в ворде


pva
20-04-2009, 10:07
Как в ворде выделить из текста (текст может быть любой длины) страницу №2 (получить её Range)?
Нужно для каждой страницы поставить свою фоновую картинку (подложку), на страницах располагается текст, который сформирован скриптом

Delirium
21-04-2009, 02:35
какой то код похоже есть на http://www.perlmonks.org/?node_id=334724

ActiveDocument.ComputeStatistics(wdStatisticPages)
или
Dim x As Word.Application
Set x = Word.Application
'Получить ссылку на документ
PageCount = x.ActiveDocument.BuiltInDocumentProperties("Number " & "of Pages")
укажет количество листов в документе



Во, нашел как выделить именно вторую страницу, точнее диапазон со 2 по 2-ую страницу:

Dim rgePages As Range

Selection.GoTo What:=wdGoToPage, Which:=wdGoToAbsolute, Count:=2

Set rgePages = Selection.Range

Selection.GoTo What:=wdGoToPage, Which:=wdGoToAbsolute, Count:=2

rgePages.End = Selection.Bookmarks("\Page").Range.End

rgePages.Select

По моему то, что тебе было нужно :)

Взято отсюда (http://www.microsoft.com/communities/newsgroups/en-us/default.aspx?dg=microsoft.public.word.vba.customization&tid=067564cf-8420-403d-86ce-d40398d5df5b&cat=en_US_9c17642b-2393-49e4-bef8-3f9464edc915&lang=en&cr=US&sloc=&p=1)

pva
21-04-2009, 13:48
Delirium, респект! С твоей помощью нашёл в хелпе от 97 ворда в нужной мне форме :)

This example adds a bookmark at the top of page 2 in the active document.

Set myRange = ActiveDocument.Words(1).GoToNext(What:=wdGoToPage)
ActiveDocument.Bookmarks.Add Name:="Page2", Range:=myRange

Delirium
22-04-2009, 01:03
pva, Всегда рад помочь :)




© OSzone.net 2001-2012