Создайте документ с поддержкой макросов, у которого сначала есть рабочий макрос, но затем он перестает работать с вставкой кнопки.Инструкции ниже.
Код:
Sub UpdateOptions()
Dim bProtected As Boolean
'Unprotect the file
If ActiveDocument.ProtectionType <> wdNoProtection Then
bProtected = True
ActiveDocument.Unprotect Password:=""
End If
Select Case ActiveDocument.FormFields("Bookmark0").Result
Case "Bookmark1"
ActiveDocument.Bookmarks("Bookmark1").Select
SendKeys "%{down}" 'Displays choices in drop-down field
Case "Bookmark2"
ActiveDocument.Bookmarks("Bookmark2").Select
SendKeys "%{down}" 'Displays choices in drop-down field
Case "Bookmark3"
ActiveDocument.Bookmarks("Bookmark3").Select
SendKeys "%{down}" 'Displays choices in drop-down field
End Select
If bProtected = True Then
ActiveDocument.Protect _
Type:=wdAllowOnlyFormFields, _
NoReset:=True, _
Password:=""
End If
End Sub
Шаги по настройке документа Word:
- Введите вдокумент: Закладка0
Вставить устаревшее поле раскрывающейся формы
- Список записей: Закладка1, Закладка2, Закладка3
- Имя: Закладка0
- Запуск макроса при выходе: UpdateOptions (код выше)
После раскрывающегося меню введите: Enter, Enter (вставить два абзаца)
- Тип: Bookmark1
Введите второе поле выпадающего списка в устаревшем формате
- Список: 1, 2, 3.
- Имя: Bookmark1
После раскрывающегося списка введите: Enter, Enter (вставьте два абзаца)
- Тип: Закладка 2
Вставьте третье выпадающее поле формы выпадающего списка
- Список: 1, 2, 3.
- Имя: Закладка2
Послев раскрывающемся списке введите: Enter, Enter (вставьте два абзаца)
- Типe: Bookmark3
- Вставить четвертое устаревшее поле формы раскрывающегося списка
- Список: 1, 2, 3.
- Имя: Bookmark3
Ваш документ должен выглядеть следующим образом:
Bookmark0 [выпадающий список]
Bookmark1 [выпадающий список]
Bookmark2 [выпадающий список *
Bookmark3 [выпадающий список]
- Сохранить документ как документ с поддержкой макросов (docm).
- Защита документа для заполнения в виде формы
Тестирование:
- Изменять параметры первого сбрасывания только из доступных перечисленных параметров (Bookmark1, Bookmark2, Bookmark3)
- Каждый раз, когда выизменив свой выбор, вы будете перенаправлены в соответствующее поле формы раскрывающегося списка закладок.
- Должно работать должным образом.
Конфликт кнопок
- Разблокировать документ
- Вставить кнопку в конце документа под закладкой3 [Кнопка]
Ваш документ должен выглядеть так же, как и выше, но теперь с кнопкой:
Bookmark0 [выпадающий список]
Bookmark1 [выпадающий список]
Bookmark2 [выпадающий список]
Закладка3 [выпадающий список]
[Кнопка]
- Защита документа для заполнения в виде
Конфликт кнопок тестирования:
- Изменить выбор Bookmak0 из (Bookmark1, Bookmark2, Bookmark3)
- Каждый раз, когда вы изменяете свой выбор, вы НЕ будете перенаправлены в соответствующий раскрывающийся список закладок.Поле формы.
- Каждый раз, когда вы изменяете свой выбор, вы будете перенаправлены в поле после соответствующего соответствующего поля формы закладки Закладка.
- Макрос не работает должным образом с наличием кнопки.
- Снимите защиту с документа, удалите кнопку, заново защитите документ, он снова будет работать нормально.
Я также разместил этот вопрос по ссылкам ниже (Доступные файлыдля загрузки тамe .: http://www.vbaexpress.com/forum/showthread.php?65092-Odd-behavior-when-Command-Buttons-are-present
http://www.msofficeforums.com/word-vba/42422-odd-behavior-when-command-buttons-present.html
eileenslounge.com / viewtopic.php? f = 26 & t = 32411