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

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

Теперь я хочу

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

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

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

3 Solutions collect form web for “Как хранить макросы VBA для Office 2007, чтобы они всегда были доступны и делились ими с другими?”

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

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

  • Excel макрос, чтобы сохранить книгу на другом сеансе Excel
  • Назначить инициированный код нескольким изображениям - Excel VBA
  • Могу ли я запустить этот макрос быстрее?
  • Excel Vba (кнопка onclick)
  • Excel: двухцветные цветовые шкалы
  • Как повторить «диапазон копирования (A1: A5) в диапазон B с преобразованием (столбец в строку)?
  • Проблемы с макросами Excel 2010
  • Excel vba: копировать строки, если данные соответствуют значениям в столбце на другом листе
  • У VBA есть структура словаря?
  • Как оптимизировать функцию VBA в Excel
  • Как объединить значения из нескольких строк в одну строку? Имейте модуль, но вам нужны переменные, объясняющие
  • Как объединить значения из нескольких строк в одну строку с помощью модуля?
  • Interesting Posts

    Как узнать, КОГДА диск USB был удален?

    Восстановить данные на жестком диске?

    Отображение динамического изображения из базы данных с помощью p: graphicImage и StreamedContent

    Приведение JFileChooser поверх всех окон

    Могу ли я настроить KiTTY для отправки нажатия F7 вместо того, чтобы поднимать диалог печати при нажатии кнопки F7?

    Как я могу узнать, является ли моя Windows 32-битной или 64-битной?

    Прослушивайте музыку телефона через динамики компьютера

    Являются ли MAC-адреса уникальными при выходе из завода?

    Распечатайте файл ASCII на принтере, подключенном через USB

    Блоки питания USB посылают сигналы, указывающие уровень подачи энергии?

    Не удается установить гостевые дополнения с помощью VirtualBox, гостевой ОС Ubuntu, операционной системы Win7

    Раздражает всплывающее окно OneDrive в Windows 10

    Удаленный рабочий стол для Ubuntu

    Что вы наиболее противоречивое мнение программирования?

    Хранилище Chrome cookie в Windows 7

    Давайте будем гением компьютера.