![]() |
Макрос Office 2013, with
Уважаемый пользователи,
В файле есть несколько форм(shape 1,2 итд),к ним хочется применить единые правила оформления и сократить код. Не получается вынести повторяющиеся участки кода в отдельную процедуру-подпрограмму-ошибка компилятора,при инициализации кода макроса. Есть возможность реализовать это на языке VBA? Благодарю,всего доброго Вам, Код:
Sub style Код:
Public Sub ButtonN_click() |
Цитата:
|
Спасибо,
HTML код:
https://cloud.mail.ru/public/83W4/rZp2DPoc6 |
Цитата:
Цитата:
Скрытый текст
Код:
Sub Sample() Цитата:
|
Run time error 445-Объект не поддерживает такого действия
Код:
Sub style() |
victor21043, я ничего не могу сказать, поскольку а) не понимаю, что Вы хотите сделать и б) у меня другая верси Office.
|
К сожалению, у меня в ближайшее - до среды - время доступ только к смарту на Андроиде, посмотреть работу кода негде. В остальном - нечего добавить к словам Iska .
victor21043, в изначальном коде алгоритм пытается присвоить свойства одного экземпляра shape коллекции (совокупности) таких элементов, подобные задачи решаются перебором всех экземпляров коллекции и присваиванием значения свойства каждого экземпляра (то, что привел в коде Iska) Так вот, мне не очень понятно, как сработал этот (правильный) код, ошибку вы приводите для него, или для своего? Цель вашей корректировки - привязать код к кнопке? В вашем варианте N2 меня смущает строчка ActiveDocument.Shapes(N).Visible = msoTriStateToggle, на мой взгляд - работать не должна. Попробуйте запустить код Iska пошагово, через нажатие в vba редакторе F8, отследите исполнение какой строчки кода вызывает ошибку, по возможности удалите эту строку дабы понять, будет ли работать остальная часть кода. Если вы хотите привязать код к кнопке, просто замените заглавие Sub Sample() на Public Sub ButtonN_click() PS мысли вслух: не имея возможности открыть ваш файл - вы уверены, что перебирать нужно коллекцию shapes? |
Время: 07:19. |
Время: 07:19.
© OSzone.net 2001-