Консультация № 179343
29.06.2010, 02:01
0.00 руб.
0 4 1
Уважемые эксперты, подскажите скрипт, как на ВБА сделать то что я делал вручную, то есть, это,:
Изменение параметров реестра таким образом, чтобы UFIControls = 1
Чтобы изменить реестр и добавить подраздел UFIControls, выполните следующие действия:
Выберите в меню Пуск пункт Выполнить, введите команду regedit и нажмите кнопку ОК.
Откройте следующий раздел реестра:
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\Common
Щелкните правой кнопкой мыши элемент Common, выберите пункт Создать, а затем выберите пункт Раздел.
Введите имя нового раздела Security и нажмите клавишу «ВВОД».
Щелкните правой кнопкой мыши раздел Security, выберите команду Создать, а затем — Параметр DWORD.
Введите UFIControls и нажмите клавишу ВВОД, чтобы переименовать значение.
Дважды щёлкните левой клавишей миши раздел UFIControls.
В поле Значение введите 1 и нажмите кнопку ОК.
Имеется ввиду с проверкой, если нет раздела Security, тогда создать его и далее по тексту ...
Если есть этот разлел, тогда удалить его.
Спасибо

Обсуждение

давно
Модератор
137394
1850
01.07.2010, 17:19
общий
это ответ
Здравствуйте, Ципихович Эндрю. У Вас требование ...есть этот раздел, тогда удалить его, если нет, создать
Вот решение
Код:
    Set WS = CreateObject("WScript.Shell")

' Пытаемся удалить раздел

On Error Resume Next
WS.RegDelete "HKEY_CURRENT_USER\Software\Microsoft\Office\Common\Security"

If Err.Number <> 0 Then ' Удалить не удалось, значит, раздела не было, создаём его
WS.RegWrite "HKEY_CURRENT_USER\Software\Microsoft\Office\Common\Security\UFIControls", 1, "REG_DWORD"
End If
On Error GoTo 0
Предполагаю, что ветка HKEY_CURRENT_USER\Software\Microsoft\Office\Common существует.
По моему скромному мнению, создание параметра надёжнее было бы сделать из bat-файла из одной строки
Код:
reg add HKEY_CURRENT_USER\Software\Microsoft\Office\Common\Security /v UFIControls /t REG_DWORD /d 1 /f

В принципе, вызов утилиты reg можно организовать и в VBS-скрипте.
Помощь по утилите Reg /? и, далее, по каждой команде, например, Reg Add /?

5
Об авторе:
Понеже не словес красных бог слушает, но дел наших хощет
Неизвестный
01.07.2010, 18:09
общий
Megaloman:
Спасибо большое, Вы мне очень сильно помогли!!!!!!!!!!!
Неизвестный
02.07.2010, 19:48
общий
Megaloman:
Не знаю как в теории, но на практике я проверил:
Если есть файл Ворд с элементом ActiveX при его открытии появляется сообщение:
Это приложение собирается инициализировать элементы ActiveX, что может быть не безопасносно.
Избавиться от этих сообщений можно следующим образом вручную:
Изменение параметров реестра таким образом, чтобы UFIControls = 1
Чтобы изменить реестр и добавить подраздел UFIControls, выполните следующие действия:
Выберите в меню Пуск пункт Выполнить, введите команду regedit и нажмите кнопку ОК
Откройте следующий раздел реестра:
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\Common
Щёлкните правой кнопкой мыши элемент Common, выберите пункт Создать, а затем выберите пункт Раздел
Введите имя нового раздела Security и нажмите клавишу «ВВОД»
Щелкните правой кнопкой мыши раздел Security, выберите команду Создать, а затем — Параметр DWORD
Введите UFIControls и нажмите клавишу ВВОД, чтобы переименовать значение
Дважды щёлкните левой клавишей миши раздел UFIControls
В поле Значение введите 1 и нажмите кнопку ОК. (Должно быть установлено: Система исчисления Шестнадцатиричная)

Но нельзя написать макрос на ВБА, чтобы перед открытием документа Ворд проверял наличие в документе элемента ActiveX, потому, что:
1. сначала появляется сообщение:
Это приложение собирается инициализировать элементы ActiveX, что может быть не безопасносно.
2. затем уже выполняется макрос AutoNew или AutoOpen.

Ваше мнение об этом, не знаете я прав???
давно
Модератор
137394
1850
04.07.2010, 10:41
общий
Ципихович Эндрю:
Не знаю ... Мне кажется, нельзя. Вы, похоже, хотите подавить сообщение. Наверное, перед вызовом Word можно тем или иным способом это сделать в реестре (vbs, bat), но перед загрузкой документа его же в Ворде проанализировать - как-то нелогично. Пока идей нет.
Об авторе:
Понеже не словес красных бог слушает, но дел наших хощет
Форма ответа