Как хранить макросы VBA для Office 2007, чтобы они всегда были доступны и делились ими с другими?

Я создал несколько полезных макросов VBA для Word, Excel Outlook и PowerPoint 2007.

Теперь я хочу

  • Иметь их всегда в соответствующем приложении с помощью сочетания клавиш или значка для кликов и
  • Также имеют возможность делиться ими с коллегами, поэтому, если что-то обновляется, они могут легко использовать новую версию.
  • Иметь обзор изменений (контроль версий)

Уже создание пользовательских команд в «ленте» в Office 2007 кажется мне очень трудным, и у меня возникла проблема: когда я храню макросы в определенном файле, этот файл нужно открыть, чтобы макросы работали – я бы хотел Открыть это в фоновом режиме. Кто-нибудь знает хороший учебник или книгу, которая охватывает это?

Могу ли я создать свой собственный AddIn? Если я правильно помню, и AddIn не может быть изменен напрямую, поэтому, если код постоянно растет, мне нужно будет сохранить исходный код в одном месте, а addin в другом – это правда?

Для 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 и создать простые документы модели, оставив их доступными в сети / облаке, и попросите своих коллег использовать эти файлы, когда они захотят использовать ваши расширенные версии.

Теперь … контроль версий? Для этого вам придется использовать сторонние инструменты.

  • Разбор нескольких ячеек и значений из одного запроса JSON
  • Изменить формат даты с помощью замены или замены
  • Как использовать переменные для установки свойств в VBA (Excel)
  • Если строка содержит слово из списка, возвращаемое значение смежно со значением списка
  • Где находится VBA Debug.Print?
  • Считать уникальные значения в Excel
  • Триггерный макрос с одним нажатием на конкретную ячейку
  • Синтаксический сахар VBA
  • Excel Vba (кнопка onclick)
  • Формула разделения в excel
  • Получить текст из буфера обмена с помощью GetText - избежать ошибки в пустом буфере обмена
  • Давайте будем гением компьютера.