2009-07-23 5 views
0

У меня есть макрос VBA в электронной таблице Excel 2003, и я хотел бы «установить» его на машине под управлением Excel.Установка макроса VBA в Excel 2007

Я создал «доверенное местоположение» на локальном компьютере, и я знаю, как скопировать модуль в существующую книгу и назначить комбинацию клавиш, чтобы вызвать его, но я не знаю, как сделать макрос автоматически когда кто-то запускает Excel. Помогите?

ответ

2

Простейшее решение (как для xl2003, так и xl2007) для копирования ваших xls, содержащих макрос, на путь = Application.StartupPath с вашего компьютера-клиента (может создать простой установщик vbscript, который создает экземпляр excel и извлекает эту информацию).

Таким образом, ваш макрос будет доступен в любой рабочей книге, открытой, поскольку файлы xls, расположенные в startuppath, загружаются при запуске excel.

1

Я не уверен, что вы имеете в виду под «появляются», но вы можете выполнить его автоматически, вызвав ее из

Private Sub Workbook_Open() 

End Sub 

в модуле ThisWorkbook объекта. Это то, что вы ищете?

1

Я помню, старый способ состоял в том, чтобы сохранить ваш макрос в вашей книге Personal.xls - тогда он будет доступен в любое время, когда вы открыли Excel - изменилось ли это на 2007 год?

2

Я помню старый способ был сохранить макрос в вашем Personal.xls книги - то это было бы доступно любое время вы открыли Excel - это изменилось в 2007 году?

Это было a way. Лучшим способом было создание (и) создания надстройки, которое затем можно отключить & с помощью Tools-> Add-ins. (Надстройка будет включена, даже если вы закроете и перезапустите Excel). Вы можете сохранить любой файл .XLS в качестве надстройки (.XLA).

В надстройку вас может просто использовать Auto_Open метод:

Private Sub Auto_Open() 

    DoStuff 

End Sub 

... или, вы можете подключить к Workbook_Open событие, как говорит Райан.

Конечно, поскольку пользователь может отключить надстройку, вы также хотите сделать обратное в Auto_Close (или в событии Workbook_BeforeClose).

На самом деле, если вы используете мероприятия, было бы лучше использовать события Workbook_AddinInstall и Workbook_AddinUninstall. Использование этих функций немного более «правильно», а также имеет преимущество, что событие «закрыть» не срабатывает, если вы закрываете Excel, а затем нажмите «Отмена», когда будет предложено сохранить.

+0

+1 для более чистого (хотя и более требовательного) решения. Это похоже на «Правильный путь». –

Смежные вопросы