Тема: как проверить состояние "флажка" в макросе?
собственно вопрос в заголовке темы, добавлю что "флажок" не из элементов управления, а из "Формы".
Как поменять его состояние программно?
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
собственно вопрос в заголовке темы, добавлю что "флажок" не из элементов управления, а из "Формы".
Как поменять его состояние программно?
Эти элементы управления входят в коллекцию InlineShapes, через которую к ним можно обратиться. Чтобы не перебирать все InlineShapes в документе, желательно поместить этот флажок в закладку и через неё обращаться к флажку, например так:
ActiveDocument.Bookmarks("MyCheckBox").Range.InlineShapes(1).OLEFormat.Object.Value = True
спасиб за оперативный ответ на двух форумах!
тока выкидывает ошибку 5941 "запрашиваемый номер семейства не существует"
Ну либо нет закладки, либо в закладке нет флажка.
судя по тому что
temp = ActiveDocument.InlineShapes.Count
показывает 0 вы мне дали стрелку на "флажок" из "элементов управления"
а мне нужен другой, который рядом с "текстовым полем" в понели инструментов "формы" (WORD2003)
Отредактировано sergo2705 (03.06.2010 13:25:07)
так оно и есть, добавил в документ один "флажок" из "элементов управления" и
temp = ActiveDocument.InlineShapes.Count
дало 1, а моих "флажков" в документе 5, и каждый с закладкой
Да, путаница в понятия. У меня основной редактор Word 2007 и там это несколько по-другому. Чтобы проверить такой флажок, нужно использовать коллекцию FormFields:
ActiveDocument.FormFields("Флажок1").CheckBox.Value
спасиб, работает!!!
также понял что по подобию можно обратиться и к "текстовому полю"
ActiveDocument.FormFields("Закладка").Result
раньше вы мне советовали другим путем
ActiveDocument.Bookmarks("Закладка").Range.Fields(1).Result
однако в процессе проверки кода на медленном компе обнаружил что
ActiveDocument.FormFields("Закладка").Result
работает с притормаживанием, как нить прокомментировать можно?
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться