программно убить фокус Calendar
Точнее, летит, но как сам того пожелает...
А далее идет повествование никак не связанное с эпиграфом.
В Excel на рабочем листе созданы два ActiveX - стандартный ComboBox и "нестандартный" Calendar (прицеплен через MSCAL.OCX 10-й версии).
Проблема в том, что если сначала поиграться с ComboBox, а потом с Calendar, то
фокус остается в календаре. Любое движение мышой или колесиком приводит к прокрутке окошек в календаре, а не в самом рабочем листе. Если поиграться с ActiveX-ами наоборот, то фокус отдается рабочему листу без проблем....
Есть ли какой-нить способ программно убивать фокус Calendar-я, не убивая сам календарь?
Это с серии "забрасываем комара на Вижуал бейсике?"
В общем, штраф.
В общем, штраф.
Я полагаю, юмор, как и песня, "нам строить и жить помогают"...
И что сей штраф означает? Лишение столовой ложки на три дня??
По сути-то есть что сказать?
И что сей штраф означает? Лишение столовой ложки на три дня??
По сути-то есть что сказать?
Юмор, как впрочем и песня должна быть к месту. Если вы считаете, что в вашем случае вы поступили действительно с юмором - то возможно вам стоит найти форум петросянов - вероятно вас там оценят.
По заданному вами вопросу - если вы используете ActivX-компоненты, а не компоненты формы - для получения фокуса попробуйте такой код:
возможно вам понадобится предварительно получить доступ к контролу через свойства рабочего листа.
По сути-то есть что сказать?
Я все сказал, что хотел.
возможно вам понадобится предварительно получить доступ к контролу через свойства рабочего листа.
Применил ActiveSheet.Calendar1.Activate = False
Вызывается панель настройки календаря, а потом (при закрытии панели) - отлуп в виде нет такого свойства / метода....
В обсчем - НЕ ТО!!