Как хранить макросы VBA для Office 2007, чтобы они всегда были доступны и делились ими с другими?
Я создал несколько полезных макросов VBA для Word, Excel Outlook и PowerPoint 2007.
Теперь я хочу
- Иметь их всегда в соответствующем приложении с помощью сочетания клавиш или значка для кликов и
- Также имеют возможность делиться ими с коллегами, поэтому, если что-то обновляется, они могут легко использовать новую версию.
- Иметь обзор изменений (контроль версий)
Уже создание пользовательских команд в «ленте» в Office 2007 кажется мне очень трудным, и у меня возникла проблема: когда я храню макросы в определенном файле, этот файл нужно открыть, чтобы макросы работали – я бы хотел Открыть это в фоновом режиме. Кто-нибудь знает хороший учебник или книгу, которая охватывает это?
- Vba Excel делает vlookup из закрытого файла
- Могу ли я запустить этот макрос быстрее?
- Поиск первой пустой строки, затем запись на нее
- Быстрый метод сравнения из 2 столбцов
- Эффективный способ удаления всей строки, если ячейка не содержит «@»
Могу ли я создать свой собственный AddIn? Если я правильно помню, и AddIn не может быть изменен напрямую, поэтому, если код постоянно растет, мне нужно будет сохранить исходный код в одном месте, а addin в другом – это правда?
- Как работает защита паролей рабочего листа Excel
- Ping IP-адрес с кодом VBA и результаты возврата в Excel
- Код в циклах VBA и никогда не заканчивается. Как это исправить?
- Объединение рабочих листов в один
- Проверка флажка на основе листа.
- Как скопировать диаграмму из Excel в PowerPoint?
- Excel VBA: автозаполнение нескольких ячеек с формулами
- Как поместить всплывающую подсказку в пользовательскую функцию
Для Excel ваши макросы должны храниться в рабочей книге Personal Macro (PERSONAL.XLSB), которая по умолчанию скрыта. Word имеет нормальный шаблон, который (IIRC) может хранить макросы. У Outlook есть аналогичная вещь, но я не могу вспомнить, что она называется. PowerPoint – аномалия, и, насколько я помню, похоже, нет места для хранения глобальных макросов.
Я использую SyncBackSE для синхронизации моей макрокоманды Excel между компьютерами. Я не обновляю макросы Outlook достаточно часто, чтобы их можно было синхронизировать, но вы, вероятно, могли бы сделать что-то подобное. Синхронизация может быть выполнена только при закрытии Excel, поскольку она блокирует книгу. Я не знаю, как вы реализуете контроль версий.
При всем уважении Луис ошибается. Вам не нужна Visual Studio для создания надстроек, хотя вы можете, конечно, использовать ее для этого.
В PowerPoint вы пишете код VBA и сохраняете его в файле PPT или PPTM, в зависимости от версии PowerPoint. Код может использовать старую модель объекта CommandBars для создания командных баров и кнопок (которые появляются на вкладке надстроек в 2007/2010/2015).
Затем вы можете сохранить в качестве дополнения PowerPoint (PPA или PPAM снова в зависимости от потребностей в версии и совместимости). Конечный пользователь может установить надстройку, как и любой другой, или создать установщик или вытолкнуть необходимые параметры реестра через групповую политику или что-то другое для нескольких пользователей. Установка надстройки через реестр включает только два или три параметра.
После установки панели инструментов / функциональных возможностей надстройки будут доступны в приложении и в любом открытом в нем файле, не ограниченном каким-либо конкретным файлом документа.
Обновления? Скопируйте новый файл PPA / PPAM, чтобы заменить все, что уже существует. Единственное ограничение – PowerPoint не может работать, когда вы это делаете.
И вернемся к должному уважению к Луису … он прав, для контроля версий необходим сторонний инструмент. Это или то, что многие из нас делают, если не требуется гранулированный контроль; Перед внесением любых изменений сохраните исходный файл в новый файл; Имя каждого файла включает дату его создания. Также полезно включить константу, установленную на ту же дату. Команда «О» в надстройке может отображать версию или дату или что угодно, чтобы вы могли убедиться, что у пользователя есть правильная версия.
У меня есть более подробная информация об этом на моем сайте Powerpoint FAQ:
Создание и установка надстроек, панелей инструментов, кнопок http://www.pptfaq.com/index.html#name_Creating_and_Installing_Add-ins-_Toolbars-_Buttons
Если я не ошибаюсь, вам нужна Visual Studio (и Visual Studio Tools для Office) для создания AddIns.
Если вы хотите, чтобы команды всегда были доступны, вы можете попытаться импортировать их в модель с поддержкой Macro и перезаписать Normal.dotm (по крайней мере, в Word). Просто предупредите их, прежде чем делать это.
Кто ваши коллеги? Являются ли они в одной компании? Вы делитесь с ними сетью? Если это так, создайте сценарий запуска, который перезапишет пользовательский Normal.dotm.
Если вы не в той же сети, попробуйте такие службы, как Dropbox. Поделитесь с ними папкой. В папке создайте файлы с поддержкой макроса и пакет, чтобы перезаписать пользовательский Normal.dotm.
Другой вариант – оставить normal.dotm и создать простые документы модели, оставив их доступными в сети / облаке, и попросите своих коллег использовать эти файлы, когда они захотят использовать ваши расширенные версии.
Теперь … контроль версий? Для этого вам придется использовать сторонние инструменты.