Как "подключить" процедуру обработки нажатия кнопки к этой кнопке?
В процессе внедрения их в жизнь (читай "в excell") возникли новые трудности. Подскажите кто что знает.
Задача простая:
Есть некая надстройка (точнее файл с ней), пока еще не "надстроенная", есть файл-инсталлятор (тоже книга, поскольку других вариантов я не знаю),который эту надстройку инсталлирует, включает, а также добавляет новую панель и кнопку, по нажатию на которую этот инсталлированный аддинс (а, точнее макрос в нем) должен запускаться. Ступор наступил неожиданно и именно здесь: во первых не понятро где находиться обработчик событий для кнопки, во вторых в хэлпе весьма расплывчатое описание того как вообще такие вещи делаются. Поделитесь опытом. Заранее спасибо.
Не до конца понятно, какую кнопку ты имеешь в виду - на панели инструментов или на листе в файле?
Я имею в виду ту, которая на панели инструментов (CommandBars("xxx").Contols...)
Я имею в виду ту, которая на панели инструментов (CommandBars("xxx").Contols...)
Её события тебе не нужны.
Устанавливаешь у этой кнопки свойство
.OnAction = "'C:\MyFiles\MyAddins.xla'!MyMacro"
И должно все работать...
Её события тебе не нужны.
Устанавливаешь у этой кнопки свойство
.OnAction = "'C:\MyFiles\MyAddins.xla'!MyMacro"
И должно все работать...
Отлично! Если я правильно понимаю, для аддинса, который установлен, такой длинный путь указывать не нужно - достаточно вписать (известное мне )название макроса? (поскольку я ведь не знаю в какой будет директории этот MyAddins.xla находиться) Или все-таки нужно считывать откуда-то стандарный путь к addins и подставлять его?
Отлично! Если я правильно понимаю, для аддинса, который установлен, такой длинный путь указывать не нужно - достаточно вписать (известное мне )название макроса? (поскольку я ведь не знаю в какой будет директории этот MyAddins.xla находиться) Или все-таки нужно считывать откуда-то стандарный путь к addins и подставлять его?
Но ведь этот путь у тебя имеется. Ты ведь когда инсталлятором устанавливаешь аддинс, его путь знаешь. Ну и сразу же этим инсталлятором навесишь макрос на кнопочку...
Но ведь этот путь у тебя имеется. Ты ведь когда инсталлятором устанавливаешь аддинс, его путь знаешь. Ну и сразу же этим инсталлятором навесишь макрос на кнопочку...
Дело в том, что "исходники", как файл-инсталлятор, так и сам addins находяться на сетевом диске, к которому не всегда есть доступ (или иногда на сменном носителе). Поэтому addins я добавляю так:
Set mein_addinen = AddIns.Add(Filename:="Mein_addinen.xla", CopyFile:=True)
и он, судя по хэлпу excell, копируеться кудато-там в "C:\.....\Excell\Addins\" в зависимости от того какой виндовоз, чё куда установлено, etc. Поэтому исходный путь я использовать не могу. :( Отсюда и возникает вышеизложенный вопрос.
Дело в том, что "исходники", как файл-инсталлятор, так и сам addins находяться на сетевом диске, к которому не всегда есть доступ (или иногда на сменном носителе). Поэтому addins я добавляю так:
Set mein_addinen = AddIns.Add(Filename:="Mein_addinen.xla", CopyFile:=True)
и он, судя по хэлпу excell, копируеться кудато-там в "C:\.....\Excell\Addins\" в зависимости от того какой виндовоз, чё куда установлено, etc. Поэтому исходный путь я использовать не могу. :( Отсюда и возникает вышеизложенный вопрос.
Понятно.
Тогда вот так:
mein_addinen.FullName