Страницы: 1
RSS
Запуск файла с макросами (*.XLSM / *.XLSB) в EXCEL-е с любым уровнем безопасности
 
Уважаемые знатоки Очень нужно запустить Excel-файл с макросами (*.XLSM / *.XLSB)  в EXCEL-е с любым уровнем безопасности, чтобы НЕ появлялись всякие сообщения о макросах и прочие предостережения ... а после закрытия этого файла - все Настройки безопасности в EXCEL должны остаться прежними, какими они были до запуска файла ...

Варианты решений и на этом форуме и на excel-vba.ru - уже морально устарели и работают только со старыми файлами *.XLS
Возможно, на данный момент - уже появились и другие решения - подскажите кто знает ...
Заранее Благодарен за любую помощь ...
Изменено: vitareiki - 13.11.2018 20:16:58
 
Вариант положить файл в папку автозапуска Экселя не рассматаривали?
 
Этот файл будет путешествовать по компьютерам разных пользователей с разным уровнем подготовки ...
поэтому и желательно сделать по принципу :  просто запустили и сразу заработало ...
 
Тот файл был предназначен только для 32-битных версий Excel, при этом вариант для загрузки  xlsx, xlsb, xlam есть, нужен?
 
ZVI, Владимир , я не знаю что там и как настраивается, но интересно, если безопасность регулируется через GPO, это тоже работает? (Шкурный интерес админа :-) )
По вопросам из тем форума, личку не читаю.
 
Цитата
ZVI написал:
при этом вариант для загрузки  xlsx, xlsb, xlam есть, нужен?
Да конечно интересует !..  скиньте пожалуйста ...
кстати, этот вариант на какую битность рассчитан - тоже на 32  ?..
Изменено: vitareiki - 13.11.2018 22:37:43
 
Михаил, работает.
 
Всем привет! Хм... Свобода макросам! Настройки безопасности в мусорку! Или не все так просто? Владимир, интересно посмотреть решение.
Изменено: bedvit - 13.11.2018 22:33:04
«Бритва Оккама» или «Принцип Калашникова»?
 
Цитата
БМВ написал:
(Шкурный интерес админа :-) )
bedvit,  вот и я о том же :-)
По вопросам из тем форума, личку не читаю.
 
Утилита RunXL.EXE позволяет загружать в MS Excel книги с включенными макросами, независимо от уровня безопасности макросов Excel. Поддерживаются расширения: XLAM, XLA, XLSM, XLSB, XLS
Поиск файлов для загрузки производится в указанном выше порядке расширений.
Утилита работает как с 32-битными, так и в 64-битными версиями Excel.

Файл RunXL.EXE нужно поместить в папку, где расположена книга с макросами, затем изменить имя утилиты на имя книги, оставив расширение EXE.
Например, чтобы загрузить MyBook1.xlsm нужно переименовать RunXL.exe в MyBook1.exe
Тогда при запуске MyBook1.exe будет открыт Excel с загрузкой книги MyBook1.xlsm с включенными макросами.
Макросы автозапуска книги при этом выполняются, а все подключенные Excel-надстройки загружаются.

Никакие параметры безопасности операционной системы и Excel утилита не модифицирует.
Используются только штатные методы, опубликованные Microsoft в MSDN.
Уровни безопасности макросов Excel задают только ограничения на ручную загрузку книг пользователем, например, из проводника или из меню Excel. Эти уровни не относятся к загрузке книг с макросами из сторонних программ, включая данную утилиту.
Безопасность при использовании утилиты должна задаваться ограничениями на установку и запуск сторонних EXE файлов.

Пользователь сам несет ответственность за неинформирование служб информационной безопасности об использовании утилиты. Любой, кто использует данную утилиту, использует ее на свой риск и обязуется не причинять с ее помощью какого-либо ущерба себе или другим лицам. Автор утилиты RunXL.exe не несет ответственности за прямые или косвенные проблемы и ущербы любого вида, связанные с использованием утилиты.

P.S. После обсуждения в сообщениях ниже (спасибо всем участникам!) прикладываю утилиту
Изменено: ZVI - 14.11.2018 22:33:04
 
Цитата
bedvit написал: Свобода макросам!
Добрый вечер, Виталий. Здесь был, конечно, момент сомнения, но данная утилита запускается из EXE-файла, который пусть каждый сам решит, устанавливать ли и запускать ли по соображениям безопасности. Если же кто-то усматривает противопоказания, то удалю из темы, и пусть тогда пишут мне индивидуально, кому утилита нужна с персональной распиской, что ничего никому не испортят и не нарушат корпоративных правил безопасности. Но обычно там, где жесткие правила безопасности, посторонний EXE файл не установишь. Пока удалил утилиту из сообщения #10, жду комментариев по теме.
Изменено: ZVI - 14.11.2018 02:58:28
 
ZVI,  Владимир, мне интересно что и где меняется и почему рядовой пользователь туда имеет доступ? Похоже на дыру в безопасности или это недокументированная фича?
По вопросам из тем форума, личку не читаю.
 
Цитата
БМВ написал: ...мне интересно что и где меняется...
Михаил, добрый вечер. Все делается штатными методами, которые документированы Microsoft и есть в открытом доступе в MSDN. Нужно просто знать особенности и правильное сочетание этих методов. Подробности, конечно, раскрывать не стану как раз по соображениям безопасности. Отмечу только, что для 64-битной версии пришлось учесть еще и нюансы SDI, чтобы активировать окно приложения Excel.
Изменено: ZVI - 14.11.2018 02:54:26
 
ну так уж и сразу-  дыра!, просто может где-то где-то есть маленькая дырочка
помните как в старом советском анекдоте:
слет советский и японских автомобилестроителей. речь зашла о герметичности кузова. японцы:
-- мы герметичность кузова проверяем так. садим в кузов кошку, закрываем окна и двери. утром приходим - если кошка сдохла, кузов герметичный, вохдух не поступает!
советские переглянулись, и тут старый мастер:
-- мы поступаем аналогично! садим кошку, все плотно закрываем. утром приходим  - если кошка убежала, значит где-то есть ма-а-а--ленькая дырочка!

не пинайте строго - я из той эпохи. столько лет прошло - а мне все еще стыдно. что я был частью того общества
помните Николая Алексевича Островского: "жизнь нужно прожить так, чтобы не было мучительно больно"... за то, что ты жил и молчал
Изменено: Ігор Гончаренко - 13.11.2018 23:55:46
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Цитата
ZVI написал:
Нужно просто знать особенности и правильное сочетание этих методов.
Если эти методы позволяют обойти настройки безопасности GPO сделанные через административный шаблон ADMX/ADML, то для моего понятия это дыра.
ключ HKCU\software\policies\microsoft\office\16.0\excel\security!vbawarnings =2 за сие отвечает и не доступен для редактирования рядовым пользователем.
По вопросам из тем форума, личку не читаю.
 
Цитата
БМВ написал: ключ ... за сие отвечает и не доступен для редактирования рядовым пользователем.
Безопасность устанавливается на загрузку в excel пользователем вручную (из проводника или из меню Excel), а не на загрузку программно, иначе многое чего не работало бы даже в самом Excel.
Изменено: ZVI - 14.11.2018 00:33:26
 
Владимир, я правильно понимаю, что если есть этот ключ HKCU\software\policies\microsoft\office\16.0\excel\security!vbawarnings  DWORD 4, что устанавливает  Disable all with notification, без возможности смены руками, то метод не работает? Если так- я спокоен.
По вопросам из тем форума, личку не читаю.
 
Михаил, нет, этот ключ устанавливает защиту только на ручную загрузку Excel-файлов пользователем, а не на программную загрузку какой-либо программой. Утилита делает программно то, что может делать программно и штатно Excel или любая другая программа. Никакие параметры безопасности при этом не модифицируются. Не хотелось бы даже этого уточнять, так как это уже лишние подробности.
Откорретировал сообщение #10, чтобы отразить эти нюансы.
Изменено: ZVI - 14.11.2018 02:51:20
 
Если не ошибаюсь, то подобный подход я описывал в этой статье: Как запустить файл с включенными макросами?
Там есть пункты про vbs и exe. Плюс там можно задать пароль на открытие файла Excel, чтобы у пользователя не было соблазна запустить файл в обход утилиты.
Изменено: Дмитрий(The_Prist) Щербаков - 14.11.2018 09:15:22
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Цитата
ZVI написал:
при запуске MyBook1.exe будет открыт Excel с загрузкой книги MyBook1.xlsm с включенными макросами.
..ага... отпустило.. :) тема то называется "Запуск файла с макросами (*.XLSM / *.XLSB) в EXCEL-е с любым уровнем безопасности", а здесь то .exe.
Владимир, добрый день!
Цитата
ZVI написал:
усматривает противопоказания,
со своей стороны не вижу причин к беспокойству, ведь это .exe. Спасибо за развернутый ответ.
БМВ, при запуске стороннего exe, меньше всего нужно беспокоится о безопасности макросов. Даже под пользователем мой exe сможет многое, макросы отдыхают. У вас, в вашем кластере администрирования, можно запустить сторонний exe?
Владимир, не вдаваясь в подробности, можно же прописать следующий алгоритм в exe:
1.Открываем объект Excel (без визуализации)
2.Проставляем настройки безопасности нужные
3.Закрываем Excel, открываем нужный файл
4.Проставляем настройки обратно, отображаем excel (или сразу открываем в граф. режиме)
5.Завершаем процесс .exe
Все работаем в файле с закрытыми настройками безопасности, но с работающими макросами. Это не секрет, все это делается и вручную (если не закрыты админами, не знаю можно ли это админить и работает ли в этом случае ваш продукт?), но вся соль в том, что это надо написать exe, а не открывать файлы Excel.
Или соль в том, что при невозможности включения макросов вручную, можно это сделать через exe (даже в пользовательском режиме)?
Изменено: bedvit - 14.11.2018 15:26:04
«Бритва Оккама» или «Принцип Калашникова»?
 
Виталий, добрый вечер!
Пример того, что Вы описали в п.п.1-5, есть по ссылке Дмитрия (The_Prist).
У меня сделано иначе (ничего в настройках безопасности не модифицируется и если экземпляр Excel был открыт, то он и используется), но смысл аналогичен.
Спасибо всем, принявшим участие в обсуждении!
Выкладываю утилиту в сообщении #10.
Изменено: ZVI - 14.11.2018 22:54:22
 
ZVI, Дмитрий(The_Prist) Щербаков, благодарю за скрипты. Остальным — спасибо за нюансы в обсуждении  :idea:
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
Владимир, спасибо за комментарии и разработки.
Цитата
ZVI написал:
Пример того, что Вы описали в п.п.1-5, есть по ссылке Дмитрия (The_Prist).
да, был невниметелен.
Дмитрий, прочитал ваш пост, как всегда информативно. Вот приметился один момент:
"Основной минус: нельзя поменять пароль к файлу, не скомпилировав новый файл EXE." Некоторое предположение от меня: А если не хранить пароль в exe, а запрашивать в консольке? Тогда и компилировать не надо ехе, и пароль можно поменять. Правда тогда отличий от скрипта почти не будет. Или в VBS нельзя вывести запрос пользователю на ввод пароля? Не пользовался скриптами.
Изменено: bedvit - 15.11.2018 14:22:38
«Бритва Оккама» или «Принцип Калашникова»?
Страницы: 1
Наверх