nick7inc
Advanced Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору DocBeen Цитата: Вопрос тогда, а как можно тогда сделать надстройку со своими макросами чтоб потом установив их на пользовательской машинке запускать... | Я думаю, что есть несколько способов и могу описать только те, которыми пользовался сам. 1) Если вы планируете писать свои функции для использования их в качестве формул на листе в ячейках, то вызов осуществляется так же, как если бы они были у вас написаны в текущей книге, например, у меня в ячейке набит вызов моего макроса (из XLA), который после обсчёта возвращает результат: =Calculate_isomerisation_2_5($F5;$G5;$H5;$B$25) 2) Если вы планируете вызывать макросы из VBA, то можно воспользоваться функцией Run(): Код: Application.Run "ExcelLib1_Extension.Optimization.Fit", var1, var2, Deriv, DStop, One_parametr_fit, fine_tune_mode | , где ExcelLib1_Extension - название моего проекта, то есть AddIn'а (в VBA правой клавишей по вашему проекту в окне Projects, Свойства и там указываете уникальное имя); Optimization - имя модуля; Fit - имя моей функции. Только будьте осторожнее с параметрами, проверяйте типы и порядок. 3) Если вы сохраните книгу с макросами опцией "Сохранить как, XLA", то вы сохраните AddIn только для своей системной учётной записи и все книги, которые будут использовать функции-макросы (описанные в пункте 1) будут после сохранения жёстко привязаны к папке с вашим AddIn'ом, что создаст трудности, если зайти под другим пользователем на компьютер или перенести файл с данными на другой. Поэтому сохранять AddIn лучше в папку Library ("C:\Program files\Microsoft Office2K\Office\Library"), тогда AddIn будет 1) виден для всех пользователей и 2) не будет жёсткой привязки к его местоположению при использовании ваших функций-макросов на листе. Путь к папке Library можно получить при помощи Application.LibraryPath. 4) Я ещё использую AddIn для создания собственных кнопок на панели инструментов, что мне сильно помогает в работе: Кнопкам можно назначать макросы, использующие, к примеру, выделенные ячейки или объекты для всевозможных операций над ними. Во второй картинке я показал, как с помощью своей кнопки я крашу часть выделенного графика в определённый цвет (случайно обнаружил недокументированную возможность Excel). | Всего записей: 1138 | Зарегистр. 04-05-2007 | Отправлено: 23:59 18-03-2008 | Исправлено: nick7inc, 00:26 19-03-2008 |
|