2012-04-03 5 views
3

У меня есть проект VBA, который я делаю в excel. У меня будет много книг, которые будут использовать один и тот же код, и я не хочу копировать код во все книги, если я внес изменения. Есть ли в любом случае код в одном центральном месте, а затем все книги имеют доступ к этому коду?VBA код импорт

+0

Возможный дубликат: http://stackoverflow.com/questions/7047467/packaging-and-reusing-vba-code-in-excel – ongle

+0

Я подозреваю, что решение 1 из ответа Сиддхарта будет вашим лучшим op Тион. Однако [этот недавний мой ответ] (http://stackoverflow.com/a/9864075/973283) показывает, как запускать макросы в одной книге против других книг. –

ответ

2

Да, у вас есть два варианта

1) Скопируйте и вставьте код в Личном книге.

Подробнее здесь

Тема: Развертывание макросов Excel из центрального файла

Ссылка: http://office.microsoft.com/en-us/excel-help/deploy-your-excel-macros-from-a-central-file-HA001087296.aspx

2) Создать Надстройка

режиме подробности здесь

Тема: Создание XLA надстройки для Excel

Ссылка: http://www.cpearson.com/excel/createaddin.aspx

Примечание: Вы можете создать Add-In в VBA, а также Visual Studio. Для надстроек COM (созданных с использованием Visual Studio) обратитесь к этой ссылке.

Тема: Разработка Управление с Visual Studio (VSTO)

Ссылка: http://msdn.microsoft.com/en-us/office/hh133430

НТН

Sid

+0

Siddharth, спасибо за предложения, я не думаю, что вариант один будет работать, так как эти книги будут использоваться несколькими пользователями. Они хранятся в сетевом расположении и доступны многим людям. Поэтому из моего понимания, используя мою личную книгу, это не решит проблему. Возможно, надстройка - лучший вариант. Еще одна идея, которую я использовал, - это использовать библиотеку. Тем не менее, я беспокоюсь об обновлении кода. Если я внес изменения в библиотеку, она будет изменена во всех книгах, которые ссылаются на нее? – DasPete

+0

Похоже, я был немного оперативен, я немного поиграл с надстройками XLA. Похоже, это может быть решением. Слишком плохо, что у меня нет VSTO, я думаю, что было бы намного лучше. – DasPete