Страница: 1 |
Страница: 1 |
Вопрос: Проблема с альбомной страницей
Добавлено: 08.08.08 17:24
Автор вопроса: m00
Всем привет. Столкнулся с проблемой:
Из различных шаблонов программно создан вордовский документ. Некоторые шаблоны имеют вид альбомной страницы, но в документе всё отображается на обычных страницах.
Получалось менять параметры страницы, но при этом они становились все альбомные
Как сделать альбомной конкретную страницу в вордовском документе?
Ответы
Всего ответов: 7
Номер ответа: 1
Автор ответа:
ADSemenov.ru
Вопросов: 5
Ответов: 276
Web-сайт:
Профиль | | #1
Добавлено: 08.08.08 18:31
Кусок текста поместить в отдельный раздел. Параметры страницы относятся именно к разделу.
Номер ответа: 2
Автор ответа:
m00
Вопросов: 1
Ответов: 1
Профиль | | #2
Добавлено: 09.08.08 07:19
так то оно так ... да только не выходит
maindoc.ActiveWindow.Selection.MoveLeft(1,1,1)
maindoc.ActiveWindow.Selection.PageSetup.PageWidth = 29.7 *28.35
maindoc.ActiveWindow.Selection.PageSetup.PageHeight = 21 *28.35
вот как делал:
- вставляю файла в главный документ
- выделяю текст
- питыюсь к выделенному тексту применить параметры альбомной страницы ...в итоге все листы альбомные
в vba не оч силен, я так понимаю ActiveWindow - это активный лист документа, который шас перед глазами? ... если да, то как выделить сразу всю страницу?
И правильно ли я думаю, делая так? ... запутался уже
Номер ответа: 3
Автор ответа:
ADSemenov.ru
Вопросов: 5
Ответов: 276
Web-сайт:
Профиль | | #3
Добавлено: 09.08.08 10:36
Не знаю как на VBA, но ручками это так: ставится курсор перед нужным текстом, вставляется "раздел с новой страницы", ставится курсор после нужного текста, вставляется "раздел с новой страницы", ставится курсор внутрь текста и устанавливаются параметры страницы.
Вставка начала раздела с новой страницы:
Номер ответа: 4
Автор ответа:
Jasmin
Вопросов: 23
Ответов: 417
Профиль | | #4
Добавлено: 10.08.08 11:26
Примерно вот так:
ActiveDocument.Range(Start:=Selection.Start, End:=Selection.Start).InsertBreak Type:=wdSectionBreakNextPage 'новый раздел со следующей страницы и до конца документа
Selection.Start = Selection.Start + 1
With ActiveDocument.Range(Start:=Selection.Start, End:=ActiveDocument.Content.End).PageSetup 'устанавливаем нужные параметры страницы (например, альбомное расположение)
.LineNumbering.Active = False
[b].Orientation = wdOrientLandscape[/b]
.TopMargin = CentimetersToPoints(1.5)
.BottomMargin = CentimetersToPoints(3)
.LeftMargin = CentimetersToPoints(2)
.RightMargin = CentimetersToPoints(2)
.Gutter = CentimetersToPoints(0)
.HeaderDistance = CentimetersToPoints(1.25)
.FooterDistance = CentimetersToPoints(1.25)
.PageWidth = CentimetersToPoints(29.7)
.PageHeight = CentimetersToPoints(21)
.FirstPageTray = wdPrinterDefaultBin
.OtherPagesTray = wdPrinterDefaultBin
.SectionStart = wdSectionNewPage
.OddAndEvenPagesHeaderFooter = False
.DifferentFirstPageHeaderFooter = False
.VerticalAlignment = wdAlignVerticalTop
.SuppressEndnotes = False
.MirrorMargins = False
.TwoPagesOnOne = False
.BookFoldPrinting = False
.BookFoldRevPrinting = False
.BookFoldPrintingSheets = 1
.GutterPos = wdGutterPosLeft
End With
Selection.MoveDown Unit:=wdLine, Count:=3
Selection.InsertBreak Type:=wdPageBreak 'в нужном месте снова вставляем разрыв
ActiveDocument.Range(Start:=Selection.Start, End:=Selection.Start).InsertBreak Type:=wdSectionBreakNextPage 'новый раздел со следующей страницы и до конца документа
Selection.Start = Selection.Start + 1
With ActiveDocument.Range(Start:=Selection.Start, End:=ActiveDocument.Content.End).PageSetup 'устанавливаем нужные параметры страницы (например, портретное/книжное расположение)
.LineNumbering.Active = False
[b].Orientation = wdOrientPortrait[/b]
.TopMargin = CentimetersToPoints(2)
.BottomMargin = CentimetersToPoints(2)
.LeftMargin = CentimetersToPoints(3)
.RightMargin = CentimetersToPoints(1.5)
.Gutter = CentimetersToPoints(0)
.HeaderDistance = CentimetersToPoints(1.25)
.FooterDistance = CentimetersToPoints(1.25)
.PageWidth = CentimetersToPoints(21)
.PageHeight = CentimetersToPoints(29.7)
.FirstPageTray = wdPrinterDefaultBin
.OtherPagesTray = wdPrinterDefaultBin
.SectionStart = wdSectionNewPage
.OddAndEvenPagesHeaderFooter = False
.DifferentFirstPageHeaderFooter = False
.VerticalAlignment = wdAlignVerticalTop
.SuppressEndnotes = False
.MirrorMargins = False
.TwoPagesOnOne = False
.BookFoldPrinting = False
.BookFoldRevPrinting = False
.BookFoldPrintingSheets = 1
.GutterPos = wdGutterPosLeft
End With
Номер ответа: 5
Автор ответа:
Jasmin
Вопросов: 23
Ответов: 417
Профиль | | #5
Добавлено: 10.08.08 11:27
Сорри. Хотела жирным выделить строчку кода. Не получилось.
и в коде не нужно.
Номер ответа: 6
Автор ответа:
ADSemenov.ru
Вопросов: 5
Ответов: 276
Web-сайт:
Профиль | | #6
Добавлено: 10.08.08 12:53
Это после макрорекордера текст.
Большую часть в "PageSetup" можно просто выкинуть, по-видимому.
Номер ответа: 7
Автор ответа:
Jasmin
Вопросов: 23
Ответов: 417
Профиль | | #7
Добавлено: 10.08.08 21:24
Никто не спорит. Можно конечно выкинуть.
Если не помнишь точно написание, то многое можно через макрорекодер "вспомнить".