Определить начало второй страницы Word

Весь MS Office, программирование на Visual Basic for Applications и MS VB

Модератор: Naeel Maqsudov

Ответить
kminas
Сообщения: 108
Зарегистрирован: 06 янв 2006, 00:06
Откуда: Ростов-на-Дону

Как определить в программе Word, когда курсор перешел на вторую страницу?
C_O_D_E
Сообщения: 296
Зарегистрирован: 13 фев 2008, 20:10
Откуда: Беларусь. Орша
Контактная информация:

во-первых внизу на строке сосояния будет написано (цитирую)

Стр.2 Разд 1 2/2

А что разделение страниц слабо поставить?
kminas
Сообщения: 108
Зарегистрирован: 06 янв 2006, 00:06
Откуда: Ростов-на-Дону

Спасибо, я это знаю лет 10. Мне нужно программно.
C_O_D_E
Сообщения: 296
Зарегистрирован: 13 фев 2008, 20:10
Откуда: Беларусь. Орша
Контактная информация:

Да не за что... Извините, но програмно не знаю...
Если назначен специальный человек для контроля за чистотой исходной информации, то найдется изобратательный идиот, который придумает способ, чтобы неправильная информация прошла этот контроль.
kminas
Сообщения: 108
Зарегистрирован: 06 янв 2006, 00:06
Откуда: Ростов-на-Дону

На одном из форумов нашли таки идею. Из нее у меня вышел код
If Selection.Information(wdActiveEndAdjustedPageNumbe r) = 2 Then
MsgBox "Сейчас пора заполнить штамп второго листа!", vbOKOnly + vbExclamation,
optShtamp.Value = True 'включается форма для заполнения штампа
End If
Зато появились еще вопросы.
Во-первых, у меня много процедур и в какую из них вставлять этот код? Во все? Или можно как-то задать глобально (очень слаб я в этом) и, во-вторых, как ее остановить?
Аватара пользователя
Aent
Сообщения: 1129
Зарегистрирован: 01 окт 2006, 14:52
Откуда: Saratov,Russia
Контактная информация:

Что то мне кажется вы не то делаете (идеологически) :(
IMHO, если вам нужно что бы был обязательно заполнен штамп листа - проверяйте это при сохранении (или печати) документа.
kminas
Сообщения: 108
Зарегистрирован: 06 янв 2006, 00:06
Откуда: Ростов-на-Дону

Таблица заполняется автоматически, в т.ч. и штамп, поэтому хотелось бы все это сделать программно.
И еще. Текст должен находиться на некотором расстоянии от штампа, а, если это делать в конце, т.е. после окончания заполнения второго листа, то текст уже отодвинуть не удастся.
Аватара пользователя
Aent
Сообщения: 1129
Зарегистрирован: 01 окт 2006, 14:52
Откуда: Saratov,Russia
Контактная информация:

&quot писал(а):если это делать в конце, т.е. после окончания заполнения второго листа, то текст уже отодвинуть не удастся.
Это делается легко измененим нижнего поля страницы, применяемом со 2-й страницы до конца документа. Код можно посмотреть в макрорекордере. Хотя эффективнее подобные вещи делать используя не VBA а XLM. А штамп в любом случае лучше поместить в клонтитул.
Аватара пользователя
Aent
Сообщения: 1129
Зарегистрирован: 01 окт 2006, 14:52
Откуда: Saratov,Russia
Контактная информация:

kminas, кстати посмотрите
http://soft.cnews.ru/windows/text/masros/forms_a4/
Аналогичных вещей понаделана куча в том числе и под Российские ГОСТы
kminas
Сообщения: 108
Зарегистрирован: 06 янв 2006, 00:06
Откуда: Ростов-на-Дону

Aent. Все гораздо проще. Я имел ввиду документ, который открывается и обрабатывается программно. Надо задать высоту колонтитула первой страницы и, если она отличается, то и второй (при этом заранее в параметрах страницы поставить галочку, что колонтитулы 1 и др. страниц различаются). Затем удалить все напечанное, либо введенные абзацы (оставить только то, что необходимо для программы) и сохранить файл. Все
Ответить