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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 13.09.2012, 20:26   #1
ольгаг
Форумчанин
 
Регистрация: 22.02.2010
Сообщений: 326
По умолчанию Кнопка и обновление экрана

Здравствуйте уважаемые программисты!
Подскажите пожалуйста, у меня на Листе excel 2003 есть кнопка (вставлена как рисунок) для запуска макроса. При выполнении самого макроса экран не мигает так как отключено обновление экрана, а вот при нажатии на саму кнопку экран "мигает" и кнопка при щелчке по ней меняет как бы цвет. Подскажите пожалуйста, как можно отключить такой эффект у кнопки? Заранее спасибо.
ольгаг вне форума Ответить с цитированием
Старый 13.09.2012, 21:20   #2
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,858
По умолчанию

Цитата:
а вот при нажатии на саму кнопку экран "мигает"
по идее, этого не должно происходить

Цитата:
кнопка при щелчке по ней меняет как бы цвет
это да, есть такое, пока вы держите кнопку мыши нажатой на фигуре.
Этого вряд ли получится избежать так устроен Excel.


Покажите свой макрос (вместе с файлом) - посмотрим, что можно сделать.

PS: Я постоянно использую такие кнопки в своих макросах - и описанный вами эффект ничуть не напрягает ни меня, ни пользователей моих программ.
EducatedFool вне форума Ответить с цитированием
Старый 13.09.2012, 21:43   #3
ольгаг
Форумчанин
 
Регистрация: 22.02.2010
Сообщений: 326
По умолчанию

Вы все правильно поняли, у меня мигает только сама кнопка.
Я решила попробовать кнопки-рисунок после того, как в последствии использования программы для защиты кода "Protect VBA" (с сайта http://excelvba.ru/) у меня на компьютерах пользователей перестают работать кнопки типа "CommandButton" (не реагируют на нажатия), а кнопки-фигуры, рисунок работают. Сама программа понравилась. Вы не сталкивались с подобным, хотелось бы сохранить кнопки "CommandButton"? Также не работает после защиты библиотека DAO. Возможно необходимые библиотеки надо подгружать макросом?

Последний раз редактировалось ольгаг; 13.09.2012 в 22:32.
ольгаг вне форума Ответить с цитированием
Старый 13.09.2012, 22:57   #4
ольгаг
Форумчанин
 
Регистрация: 22.02.2010
Сообщений: 326
По умолчанию

Подскажите пожалуйста, как макросом прописать подключение следующих дополнительных библиотек (которые по умолчанию не подключены):
1) Microsoft Forms 2.0 Object Library
2) Microsoft DAO 3.6 Object Library
ольгаг вне форума Ответить с цитированием
Старый 14.09.2012, 02:02   #5
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,858
По умолчанию

Цитата:
Вы не сталкивались с подобным, хотелось бы сохранить кнопки "CommandButton"?
сталкивался, неоднократно.

Причину не выяснял (да и не особо мне это надо было) - просто стал использовать только автофигуры для запуска макросов.

Цитата:
Также не работает после защиты библиотека DAO
защита и библиотека не связаны никак.
Возможно, вы неправильно используете библиотеку (защиту можно временно снимать перед вставкой данных в Excel, и потом ставить снова)
EducatedFool вне форума Ответить с цитированием
Старый 14.09.2012, 08:40   #6
ольгаг
Форумчанин
 
Регистрация: 22.02.2010
Сообщений: 326
По умолчанию

Спасибо большое, попробую!
ольгаг вне форума Ответить с цитированием
Старый 14.09.2012, 09:54   #7
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,170
По умолчанию

А Microsoft Forms 2.0 зачем? Для работы с буфером обмена? Это можно делать и без подключения Microsoft Forms:
Код:
Sub GetFromClb()
    Dim tmp
    With GetObject("New:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}")
        .GetFromClipboard
        tmp = .GetText(1)
    End With

    MsgBox tmp
End Sub
webmoney: E265281470651 Z422237915069 R418926282008

Последний раз редактировалось Hugo121; 14.09.2012 в 09:58.
Hugo121 вне форума Ответить с цитированием
Старый 14.09.2012, 15:24   #8
ольгаг
Форумчанин
 
Регистрация: 22.02.2010
Сообщений: 326
По умолчанию

Цитата:
Сообщение от Hugo121 Посмотреть сообщение
А Microsoft Forms 2.0 зачем? Для работы с буфером обмена? Это можно делать и без подключения Microsoft Forms:
Код:
Sub GetFromClb()
    Dim tmp
    With GetObject("New:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}")
        .GetFromClipboard
        tmp = .GetText(1)
    End With

    MsgBox tmp
End Sub
Данная библиотека нужна для CommandButtons. В принципе она сама подключается когда создаешь кнопку. Но у меня на листе есть такие кнопки, но после защиты кода с помощью Protect VBA они не работают.
ольгаг вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
отключить обновление экрана R Dmitry Microsoft Office Access 6 14.02.2017 13:53
Обновление экрана Влад12 Общие вопросы Delphi 5 03.05.2012 20:05
Обновление экрана при нажатии ToggleButton Severny Microsoft Office Excel 2 17.11.2011 16:44
Обновление экрана A_L_E_X Microsoft Office Excel 2 10.09.2010 15:08
Обновление заданной области экрана при нажатии клавиши Jack Torrance Win Api 3 26.05.2008 10:57