Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Word
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.03.2017, 13:55   #1
DBEER
Пользователь
 
Регистрация: 13.03.2014
Сообщений: 76
Вопрос Как запретить Юзеру лезть в колонтитулы?

Собственно, в subj всё и есть.. Ловится ли событие "вход в редактирование колонтитула"?
DBEER вне форума Ответить с цитированием
Старый 03.04.2017, 08:52   #2
Борис_Р
Пользователь
 
Регистрация: 18.02.2013
Сообщений: 26
По умолчанию

Если не нашли ничего путного, попробуйте такой костыль.
Для всех колонтитулов активного документа вставить элемент управления содержимым "Группировать" (вкладка ленты "Разработчик", кнопка элемента управления находится под кнопками "Конструктор" и "Свойства" )
Код:
Sub HeadersFooters_Add_ContentControlGroup()
'Устанавливает для колонтитулов всех разделов активного документа свойство "Группировать..."
Dim s As Section, j As Long, cc As ContentControl
For Each s In ActiveDocument.Sections
    With s
    For j = 1 To 3
        .Headers(j).Range.Select
        Selection.WholeStory
       Set cc = Selection.Range.ContentControls.Add(wdContentControlGroup)
        cc.SetPlaceholderText , , " "
        .Footers(j).Range.Select
        Selection.WholeStory
        Set cc = Selection.Range.ContentControls.Add(wdContentControlGroup)
        cc.SetPlaceholderText , , " "
    Next j
    End With
Next s
Set s = Nothing
End Sub
После выполнения макроса при входе в редактирование колонтитула возникает событие документа ContentControlOnEnter, которое можно обработать.
Пример процедуры обработки
Код:
Private Sub Document_ContentControlOnEnter(ByVal cc As ContentControl)
MsgBox "Кто-то лезет в колонтиул"
End Sub
При попытке войти в колонтитул появится сообщение

Последний раз редактировалось Борис_Р; 03.04.2017 в 11:12.
Борис_Р вне форума Ответить с цитированием
Старый 04.04.2017, 10:27   #3
Борис_Р
Пользователь
 
Регистрация: 18.02.2013
Сообщений: 26
По умолчанию

Вот несколько ссылок с описанием процедуры обработки событий приложения
Возможно, поможет решить задачу без костылей

Writing application event procedures http://wordmvp.com/FAQs/MacrosVBA/AppClassEvents.htm

Intercepting events like Save and Print http://wordmvp.com/FAQs/MacrosVBA/In...tSavePrint.htm

Run Macro on Cell Lost Focus http://www.msofficeforums.com/word-v...ost-focus.html
Борис_Р вне форума Ответить с цитированием
Старый 16.04.2017, 16:26   #4
Вождь
Форумчанин
 
Аватар для Вождь
 
Регистрация: 29.09.2008
Сообщений: 378
По умолчанию

Цитата:
Сообщение от DBEER Посмотреть сообщение
Как запретить Юзеру лезть в колонтитулы?
Ловится ли событие "вход в редактирование колонтитула"?
Это два разных вопроса. Запретить довольно просто, используя стандартный инструмент "Ограничение редактирования".
Макросы на заказ и готовый пакет - http://mtdmacro.ru/
Вождь вне форума Ответить с цитированием
Старый 26.04.2017, 15:56   #5
DBEER
Пользователь
 
Регистрация: 13.03.2014
Сообщений: 76
По умолчанию Вождю:

А в 2003м это возможно? Я не нашел в Сервис->Защита документа
DBEER вне форума Ответить с цитированием
Старый 26.04.2017, 16:32   #6
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

Как это? Сервис->Защитить документ
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 26.04.2017, 16:58   #7
Вождь
Форумчанин
 
Аватар для Вождь
 
Регистрация: 29.09.2008
Сообщений: 378
По умолчанию

Цитата:
Сообщение от DBEER Посмотреть сообщение
...в 2003м...не нашел...
Word 2003 > меню «Сервис» > пункт «Защитить документ» > справа, появится панель «Защита документа» > где активируем флаг «Разрешить только указанный способ редактирования документа» > ниже, появится раздел «Исключения» > указываем что можно редактировать…
Макросы на заказ и готовый пакет - http://mtdmacro.ru/
Вождь вне форума Ответить с цитированием
Старый 02.05.2017, 16:30   #8
DBEER
Пользователь
 
Регистрация: 13.03.2014
Сообщений: 76
По умолчанию Вождю

Chif, я пробую по написанному.
В выпадающем списке под "Разрешить только указанный.." вижу:
- Запись исправлений
- Примечания
- ввод данных в поля форм
- Только чтение
Ну, и ниже управление группами пользователей, кому назначены эти разрешения.
Не могу смекнуть, как здесь реализовать ограничение на редактирование КОЛОНТИТУЛОВ.
DBEER вне форума Ответить с цитированием
Старый 02.05.2017, 17:02   #9
Вождь
Форумчанин
 
Аватар для Вождь
 
Регистрация: 29.09.2008
Сообщений: 378
По умолчанию

Цитата:
Сообщение от DBEER Посмотреть сообщение
Не могу смекнуть, как здесь реализовать ограничение на редактирование КОЛОНТИТУЛОВ.
Там нет отдельно колонтитулов. Там другой принцип: запрещаем редактировать весь документ, но указываем области, которые разрешено редактировать.

Это стандартный инструмент Word, популярно описанный. Найдите в справке Word, как им пользоваться. В двух словах не расскажешь.
Макросы на заказ и готовый пакет - http://mtdmacro.ru/
Вождь вне форума Ответить с цитированием
Старый 02.05.2017, 17:13   #10
DBEER
Пользователь
 
Регистрация: 13.03.2014
Сообщений: 76
По умолчанию Вождю.

Благодарю. Буду рыть.
DBEER вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
сначала изучить паскаль а потом лезть в delphi? xtreemxx Помощь студентам 16 12.09.2010 14:49
Как вставить в колонтитулы номер страницы раздела? EvgenAPS Microsoft Office Word 4 12.05.2010 11:30
Колонтитулы: как в предыдущем и поля Busine2009 Microsoft Office Word 7 06.08.2009 22:24
Как убрать колонтитулы на нужных страницах? Окоча Юра Microsoft Office Word 4 12.06.2009 21:38
Не дать Юзеру редактировать (как это сделать?) chugo Microsoft Office Access 3 26.02.2009 22:02