VBA для тех кто любит думать


VBA и Office XP - часть 122


Для этого достаточно ввести в Окне отладки команды

 

Set dd = ActiveDocument.CommandBars.Add("Panel")

CommandBars("Panel").Controls.Add(Type:=msoControlButton, ID:=797).FaceId = x

 

где x - любое число от 1 до 3000. Тогда на указанной в команде панели - с именем "Panel" - будет создана кнопка со значком, который можно скопировать на свою кнопку. Не для всех кодов существуют значки, поэтому иногда созданная таким образом кнопка будет пустой, - попробуйте еще раз с другим х[11]. Параметр Id, упоминаемый в команде, задает то действие, которое должно быть выполнено при нажатии на создаваемую кнопку, в данном случае - открытие диалогового окна "Настройка".

Весьма желательно для программного добавления своих кнопок использовать создаваемые отдельно панели инструментов, так как работать со стандартными, исходно входящими в состав Word'а панелями иногда не удается, в частности, из-за того, что в локализованных версиях Microsoft Office, в том числе и в русской, отображаемые и истинные их имена не совпадают[12].

Более подробно о том, как создавать и удалять кнопки на панелях инструментов, какими эти кнопки могут быть, вы можете почитать в Справочной системе VBA (например, начав с контекстной справки по слову CommandBars). В Справочной системе эта информация изложена весьма подробно и снабжена множеством примеров. Однако для простого назначения кнопок программам на VBA хватит и вышеизложенной информации.

Довольно много полезных приемов работы с панелями инструментов, кнопками на них - создание, копирование, удаление - реализованы в наборе макросов "SaveIn" (есть на прилагаемом к книге компакт-диске, а также доступен через Сеть с адреса http://antorlov.chat.ru/savein.htm).

Вполне возможно программно задавать и сочетания клавиш для вызова тех или иных программ, однако делать так ни в коем случае не следует. Не следует по той простой причине, что настройки сочетаний клавиш пользователя, который установит вашу программу, вполне могут совпасть с заданными вами для вашей программы.


Начало  Назад  Вперед