Вопрос или проблема
Когда вы добавляете новый .XLA
надстройку с помощью Excel, она добавляется только для текущего пользователя. Есть ли возможность добавить его для всех пользователей компьютера, даже с редактированием реестра?
Excel обычно загружает надстройки по пользователю, пример ниже:
[HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Excel\Options]
“OPEN”=”c:\someapp\exceladdin.xla”
“OPEN1″=”c:\someapp1\exceladdin.xla”
Для каждой надстройки Excel есть OPENn (где n — это число), например, OPEN, OPEN1, OPEN2 и т.д.
Обратите внимание, что это зависит от текущей версии Excel:
HKEY_CURRENT_USER\Software\Microsoft\Office\12.0\Excel\Options
HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Excel\Options
Вы можете создать vb-скрипт, который решит эту задачу. Вот шаги, которые нужно выполнить:
- Проверьте, сколько
OPEN
ключей у вас есть для каждого пользователя в реестре (пользователи могут уже иметь xla, загружающуюся при старте) - Добавьте значение OPEN (REG_SZ) с путем к xla файлу
Обратите внимание, что некоторые надстройки Excel используют следующий реестр:
[HKEY_CURRENT_USER\Software\Microsoft\Office\Excel\Addins
Вы можете импортировать файл ntuser.dat из c:\users\default
и назвать его каким-то образом. Затем измените этот ключ HKEY_USERS\SOMETHING\software\Microsoft\Office\16.0\Excel\Options
и заставьте надстройку(и) загружаться для любого нового пользователя машины.
Этот трюк хорошо работает для администратора лаборатории, который обновляет рабочий стол после того, как каждый студент выходит из системы.
Использование OPEN99 — это трюк. Я буду использовать это, чтобы добавить свои надстройки в список надстроек пользователя, не перезаписывая существующие OPEN, OPEN1 и т.д. У меня может быть несколько надстроек, открывающихся для одного пользователя, и мне не нужно беспокоиться о существующей конфигурации или порядке загрузки. Простой. Спасибо, cxw.
Ответ или решение
Установка Excel-надстроек (например, .xla) для всех пользователей компьютера может потребовать некоторых дополнительных действий, так как по умолчанию Excel загружает надстройки на уровне текущего пользователя. В этом ответе я предоставлю вам детальный план, как осуществить данную установку, включая редактирование реестра и другие методы.
Шаг 1: Определите необходимую версию Excel
Для начала важно знать, какую версию Excel вы используете. В зависимости от версии путь в реестре будет отличаться. Например:
- Для Office 2003:
HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Excel\Options
- Для Office 2007:
HKEY_CURRENT_USER\Software\Microsoft\Office\12.0\Excel\Options
Шаг 2: Проверка существующих надстроек
Прежде чем добавлять новую надстройку, рекомендуется проверить, какие надстройки уже загружены. Для этого:
- Откройте редактор реестра (regedit).
- Перейдите в указанный путь для нужной вам версии Excel.
- Найдите и подсчитайте количество значений с именами
OPEN
,OPEN1
,OPEN2
и т.д. Это важно, чтобы избежать конфликта с существующими надстройками.
Шаг 3: Добавление надстройки
Для добавления необходимой надстройки выполните следующие действия:
- Определите путь к вашему
.xla
файлу. - Добавьте новое значение в реестр:
- Перейдите в
HKEY_CURRENT_USER\Software\Microsoft\Office\<версия>\Excel\Options
. - Создайте новое строковое значение (REG_SZ) с именем
OPENn
, гдеn
– это число, следующее за максимальным значением, найденным на предыдущем шаге. Например, если у вас уже естьOPEN
,OPEN1
,OPEN2
, и вы хотите добавить надстройку какOPEN3
, добавьте строкуOPEN3
и укажите путь к .xla файлу.
- Перейдите в
Шаг 4: Автоматизация с помощью VBS скрипта
Для удобства и автоматизации процесса вы можете создать VBS скрипт, который будет выполнять вышеописанные шаги для нескольких пользователей. Вот базовый шаблон кода:
Dim shell
Set shell = CreateObject("WScript.Shell")
' Путь к надстройке
addInPath = "C:\Path\to\your\addin.xla"
' Путь к реестру
regPath = "HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Excel\Options"
' Добавление нового значения
shell.RegWrite regPath & "\OPEN3", addInPath, "REG_SZ"
Set shell = Nothing
Шаг 5: Импортирование файла ntuser.dat
Если вы хотите, чтобы новая надстройка была доступна для всех новых пользователей на компьютере:
- Импортируйте файл
ntuser.dat
изC:\Users\Default
. - Измените соответствующий ключ в
HKEY_USERS\SOMETHING\Software\Microsoft\Office\16.0\Excel\Options
, добавив необходимую надстройку так же, как описано выше.
Заключение
После выполнения всех этих шагов Excel будет загружать вашу .xla надстройку для каждого пользователя, который войдет в систему. Этот подход будет удобен, особенно в образовательной среде или в организациях, где один компьютер использует несколько пользователей. Используйте подходящие для вас методы для достижения наилучших результатов.
Этот способ обеспечит вас не только функциональной установкой надстроек, но и эффективным управлением ресурсами, позволяя вам избежать конфликтов между различными надстройками.