Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / программно Уровень Безопасности / 25 сообщений из 30, страница 1 из 2
06.09.2005, 12:57:37
    #33253648
АлексейК
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
программно Уровень Безопасности
Всем привет!

интересует програмно :
сменить Уровень Безопасности эксел
установить сертификат центра сертификации в доверенные
установить сертификат определенного издателя кода в доверенные

пусть даже будут системные предупреждения...
...
Рейтинг: 0 / 0
06.09.2005, 14:14:00
    #33253967
программно Уровень Безопасности
АлексейКинтересует програмно :
сменить Уровень Безопасности эксел

Совйство AutomationSecurity объекта Application позволяет управлять уровнем безопасности при открытии рабочей книги. (Excel > 2000)

Открытие рабочей книги с автоматическим отключением макросов.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
    Dim secAutomation As MsoAutomationSecurity

    secAutomation = Application.AutomationSecurity

    Application.AutomationSecurity = msoAutomationSecurityForceDisable
    Application.FileDialog(msoFileDialogOpen).Show
    
    Dim fn As String
    
    fn = Application.FileDialog(msoFileDialogFilePicker).SelectedItems( 1 )
    Application.Workbooks.Open fn
    Application.AutomationSecurity = secAutomation
...
Рейтинг: 0 / 0
06.09.2005, 14:18:51
    #33253985
АлексейК
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
программно Уровень Безопасности
насколько я понял этот код отключает чтото типа автоекзека вордовского

а хочется настройки безопасности включить на уровень средний или низкий..
...
Рейтинг: 0 / 0
06.09.2005, 14:27:01
    #33254016
АлексейК
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
программно Уровень Безопасности
пока открыт файл действует что то
после закрытия с новым файлом безопасность таже
...
Рейтинг: 0 / 0
06.09.2005, 14:51:09
    #33254085
ЛП
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
программно Уровень Безопасности
сменить Уровень Безопасности эксел
В реестре изменить значение параметра:
HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Excel\Security\Level
Если такового ключа нет - добавить.
Тупо, но должно сработать.

насчет всяких сертификатов не скажу.
...
Рейтинг: 0 / 0
06.09.2005, 15:40:42
    #33254261
vkodor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
программно Уровень Безопасности
ЛП сменить Уровень Безопасности эксел
Dim secAutomation As MsoAutomationSecurity

secAutomation = Application.AutomationSecurity

Application.AutomationSecurity = msoAutomationSecurityForceDisable
Application.FileDialog(msoFileDialogOpen).Show

Dim fn As String

fn = Application.FileDialog(msoFileDialogFilePicker).SelectedItems(1)
Application.Workbooks.Open fn
Application.AutomationSecurity = secAutomation.

не работает может чего то не хватает?
...
Рейтинг: 0 / 0
06.09.2005, 15:47:18
    #33254285
ЛП
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
программно Уровень Безопасности
2 vkodor
Весело Вы цитируете - начало сообщение моё, а дальше нифига не моё :)
...
Рейтинг: 0 / 0
07.09.2005, 11:33:43
    #33255758
АлексейК
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
программно Уровень Безопасности
2 ЛП

сенькс.
здорово
...
Рейтинг: 0 / 0
07.09.2005, 11:40:06
    #33255787
программно Уровень Безопасности
Вчера вечером попробовал на Excel 2002. Свойство AutomationSecurity меняет уровень только для окрытой книги. Других свойств, которые могли бы отвечать за управление уровнем безопасности я не нашел. По-видимому, только через реестр.
...
Рейтинг: 0 / 0
07.09.2005, 11:43:59
    #33255802
АлексейК
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
программно Уровень Безопасности
вот код понижения уровня безопасности до низкого
если кому надо

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
On Error Resume Next
Dim OShell
Set OShell = CreateObject("WScript.Shell")
OShell.RegWrite "HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Excel\Security\Level",  2 , "REG_DWORD"
OShell.RegWrite "HKEY_CURRENT_USER\Software\Microsoft\Office\10.0\Excel\Security\Level",  2 , "REG_DWORD"
OShell.RegWrite "HKEY_CURRENT_USER\Software\Microsoft\Office\9.0\Excel\Security\Level",  2 , "REG_DWORD"

Set OShell = Nothing

эх, хорошо бы еще подпись
...
Рейтинг: 0 / 0
07.09.2005, 12:10:01
    #33255922
vkodor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
программно Уровень Безопасности
АлексейКвот код понижения уровня безопасности до низкого
если кому надо

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
On Error Resume Next
Dim OShell
Set OShell = CreateObject("WScript.Shell")
OShell.RegWrite "HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Excel\Security\Level",  2 , "REG_DWORD"
OShell.RegWrite "HKEY_CURRENT_USER\Software\Microsoft\Office\10.0\Excel\Security\Level",  2 , "REG_DWORD"
OShell.RegWrite "HKEY_CURRENT_USER\Software\Microsoft\Office\9.0\Excel\Security\Level",  2 , "REG_DWORD"

Set OShell = Nothing

эх, хорошо бы еще подпись

класно спасибо давно искал
есть задумка из внешней проге включать макро и тогда можно ... Ух.
...
Рейтинг: 0 / 0
07.09.2005, 13:17:02
    #33256207
АлексейК
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
программно Уровень Безопасности
вирусотрояны чтоль?

если есть возможность выполнять код внешней проги то
зачем нужен эксель ????.....
...
Рейтинг: 0 / 0
07.09.2005, 14:55:06
    #33256583
vkodor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
программно Уровень Безопасности
АлексейКвирусотрояны чтоль?

если есть возможность выполнять код внешней проги то
зачем нужен эксель ????.....
элементарно
политика компании по безопасности компов такова
что после перезагрузки макро автоматически отключается
у меня много .xls в которых auto_open многое настраивает
одно разрешает другое запрещает и т. д.

написал .vbs положил в автозагрузку уже проще.
...
Рейтинг: 0 / 0
12.09.2005, 16:40:37
    #33264626
Jetus
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
программно Уровень Безопасности
vkodor АлексейКвот код понижения уровня безопасности до низкого
если кому надо

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
On Error Resume Next
Dim OShell
Set OShell = CreateObject("WScript.Shell")
OShell.RegWrite "HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Excel\Security\Level",  2 , "REG_DWORD"
OShell.RegWrite "HKEY_CURRENT_USER\Software\Microsoft\Office\10.0\Excel\Security\Level",  2 , "REG_DWORD"
OShell.RegWrite "HKEY_CURRENT_USER\Software\Microsoft\Office\9.0\Excel\Security\Level",  2 , "REG_DWORD"

Set OShell = Nothing

эх, хорошо бы еще подпись

класно спасибо давно искал
есть задумка из внешней проге включать макро и тогда можно ... Ух.

Вся проблема в том, что если этот код запускается из макроса, то хоть он и меняет данные в реестре, то при выходе из Экселя они вновь становятся теми же (Эксель при завершении работы сохраняет туда текущие настройки, а они-то не меняются!)
...
Рейтинг: 0 / 0
12.07.2006, 12:55:28
    #33847685
Юра613
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
программно Уровень Безопасности
Здравствуйте

fn = Application.FileDialog(msoFileDialogFilePicker).SelectedItems(1)

не знаете, почему у меня в этом месте ошибка возникла?

И можно уточнить, это код
авторOn Error Resume Next
Dim OShell
Set OShell = CreateObject("WScript.Shell")
OShell.RegWrite "HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Excel\Security\Level", 2, "REG_DWORD"
OShell.RegWrite "HKEY_CURRENT_USER\Software\Microsoft\Office\10.0\Excel\Security\Level", 2, "REG_DWORD"
OShell.RegWrite "HKEY_CURRENT_USER\Software\Microsoft\Office\9.0\Excel\Security\Level", 2, "REG_DWORD"

Set OShell = Nothingнадо в модуле писать или в private sub workbook_open&
...
Рейтинг: 0 / 0
12.07.2006, 13:26:19
    #33847817
vkodor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
программно Уровень Безопасности
Юра613Здравствуйте

fn = Application.FileDialog(msoFileDialogFilePicker).SelectedItems(1)

не знаете, почему у меня в этом месте ошибка возникла?

Очень требуется совет специалистов
Юра613
И можно уточнить, это код
авторOn Error Resume Next
Dim OShell
Set OShell = CreateObject("WScript.Shell")
OShell.RegWrite "HKEY_CURRENT_USER\\Software\\Microsoft\\Office\\11.0\\Excel\\Security\\Level", 2, "REG_DWORD"
OShell.RegWrite "HKEY_CURRENT_USER\\Software\\Microsoft\\Office\\10.0\\Excel\\Security\\Level", 2, "REG_DWORD"
OShell.RegWrite "HKEY_CURRENT_USER\\Software\\Microsoft\\Office\\9.0\\Excel\\Security\\Level", 2, "REG_DWORD"

Set OShell = Nothingнадо в модуле писать или в private sub workbook_open&
пишишь это в текстовом файле
после закрытия файла меняешь расширение с ".txt" на ".vbs"
кладешь полученный файл в автозагрузку "Windows" и всё.
...
Рейтинг: 0 / 0
12.07.2006, 13:31:16
    #33847843
Ashton
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
программно Уровень Безопасности
Юра613Здравствуйте

fn = Application.FileDialog(msoFileDialogFilePicker).SelectedItems(1)

не знаете, почему у меня в этом месте ошибка возникла?
Какая ошибка, какая версия Excel? Если 2000-й, то там нет такого объекта.
...
Рейтинг: 0 / 0
12.07.2006, 13:54:43
    #33847969
Юра613
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
программно Уровень Безопасности
fn = Application.FileDialog(msoFileDialogFilePicker).SelectedItems(1)
с этим мест уже проблем нет, разобрался

но тут возникло другая проблема.
Как мне кажется, если можно программным путем выставить высокий уровень безопасности, то можно и низкий.
Как я понял код это работает только если уровень безопасности или средний или низкий.
В итоге если возможно сделать низкую защиту таким же образом(при помощи вба),то при высокой защите это будет невозможно.

для чего я спрашиваю.
Я рассылаю экселевские файлы для отчета(сбор информации) Я делал по простому, рисовал таблицу, выделял цветом важные места и обязательные для заполнения, и блокировал те зоны в которых ничего писать не надо. Но в итоге люди или заполняют ячейки неправильно или вообще не заполняют. Поэтому я решил сделать тот же Экселевский файл в котором при открытии будет появляться форма. В эту форму нужно будет вводить необходимую информацию и если что то будет не правильно или не хватать информации то форма будет "ругаться". Потом при нажатии кнопки все будет записываться на лист.Но если у о пользователей будет стоять вывсокий уровень защиты то все мои старания коту под хвост.
Также не удобно рассылать изменненный текстовой файл(проще попросить поставить низкий уровень безопасности)
...
Рейтинг: 0 / 0
12.07.2006, 14:19:45
    #33848107
vkodor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
программно Уровень Безопасности
Юра613fn = Application.FileDialog(msoFileDialogFilePicker).SelectedItems(1)
с этим мест уже проблем нет, разобрался

но тут возникло другая проблема.
Как мне кажется, если можно программным путем выставить высокий уровень безопасности, то можно и низкий.
Как я понял код это работает только если уровень безопасности или средний или низкий.
В итоге если возможно сделать низкую защиту таким же образом(при помощи вба),то при высокой защите это будет невозможно.

для чего я спрашиваю.
Я рассылаю экселевские файлы для отчета(сбор информации) Я делал по простому, рисовал таблицу, выделял цветом важные места и обязательные для заполнения, и блокировал те зоны в которых ничего писать не надо. Но в итоге люди или заполняют ячейки неправильно или вообще не заполняют. Поэтому я решил сделать тот же Экселевский файл в котором при открытии будет появляться форма. В эту форму нужно будет вводить необходимую информацию и если что то будет не правильно или не хватать информации то форма будет "ругаться". Потом при нажатии кнопки все будет записываться на лист.Но если у о пользователей будет стоять вывсокий уровень защиты то все мои старания коту под хвост.
Также не удобно рассылать изменненный текстовой файл(проще попросить поставить низкий уровень безопасности)
примерно такой же вопрос сдесь уже обсуждался
пришли вот к чему
на листе который будет при открытии виден вставяется во весь экран надпись
типа "У вас отключены макросы и поэтому файл работать не будет",
а в событии "Private Sub Workbook_Open()"
прописан код который убирает эту надпись.
получается следующее:
если макросы отключены, то все нормально, а
если макросы не отключены то пользователь видит эту надпись.
Вообще с этим можно поиграться например
изночально поставить защиту на все листы, а при открытии в событии
"Private Sub Workbook_Open()"
прописать код снятия защиты
что-то типа
For Each Sh In ThisWorkbook.Worksheets
Sh.Unprotect "123"
Next
соответственно при закрытии д.б. ("Private Sub Workbook_BeforeClose(Cancel As Boolean)")
For Each Sh In ThisWorkbook.Worksheets
Sh.Protect "123"
Next
...
Рейтинг: 0 / 0
12.07.2006, 14:42:18
    #33848213
vkodor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
программно Уровень Безопасности
vkodor
получается следующее:
если макросы отключены, то все нормально, а
если макросы не отключены то пользователь видит эту надпись.

извиняюсь перепутал
читать надо так

получается следующее:
если макросы не отключены, то все нормально, а
если макросы отключены то пользователь видит эту надпись.

жаль что сообщение редактировать нельзя
...
Рейтинг: 0 / 0
12.07.2006, 15:08:14
    #33848355
Юра613
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
программно Уровень Безопасности
Понятно, приблизительно так же я себе это и представлял.
А нельзя ли сделать так:
Вы говорили про написание текстового файла, который отключает уровень безопасности. Можно ли сделат так чтоб при запуске Экселевского файла запускался этот сначала текстовой файл,а потом уже макрос во всю работал.
...
Рейтинг: 0 / 0
10.11.2006, 12:09:30
    #34118971
Ivan33
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
программно Уровень Безопасности
а как в итоге выглядит макрос со всеми условиями, чтобы это работало в экселе?
...
Рейтинг: 0 / 0
10.11.2006, 13:00:24
    #34119223
Юра613
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
программно Уровень Безопасности
я сразу думал,что то вроде

file.open (ща точно не помню как эти файлы запускать)
но все равно какой бы то макрос не был он работать не будет при высоком уровне безопасности. Надо какую то надстройку делать. НАпример сохранить экселевский файл как надстройку(с надстройкой макросы помоему работают)а еще можно может через какое нибудь ВБ приложение запустить(или другим языком программирования воспользоваться),но все это будет работать только на дном компе, а если рассылать это приложение то нужно писать сетап.а офисных прогах это не реально. (вроде все правильно написал, если что то сильно не ругайте, а укажите где я ошибся)
...
Рейтинг: 0 / 0
25.03.2007, 08:06:16
    #34413830
DrugON
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
программно Уровень Безопасности
Извините, что задам неграмотный, возможно, вопрос. Создал текстовый файл, разрешение изменил. Запускаю - уровень безопасности не меняется. На рабочей машине нет прав админа и, соответственно, прав изменения реестра. Может из-за этого не работает? Помогите победить проблему, пожалуйста.
...
Рейтинг: 0 / 0
26.03.2007, 17:45:59
    #34416472
JimOrange
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
программно Уровень Безопасности
DrugONНа рабочей машине нет прав админа и, соответственно, прав изменения реестра.
Это жестоко... Это что же получается, юзер Administrator забыл пароль?
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / программно Уровень Безопасности / 25 сообщений из 30, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]