Файл содержит зашифрованные макросы которые были отключены

Файл содержит зашифрованные макросы которые были отключены

Попытка запустить макрос на воспроизведение может оказаться неудачной. Самая распространенная причина того, что после записи макрос не работает заключается в системе безопасности, но давайте по порядку.

Система безопасности Microsoft Office

Microsoft Office снабжен своей собственной системой безопасности. Задача этой системы заключается в противодействии макровирусам. Макровирусы – это вредоносные программы, написанные на языке VBA. Для своего распространения и перемещения от одного зараженного файла к другому макровирусы используют возможности языка программирования. Наибольшее распространение получили макровирусы, созданные для MS Word и MS Excel. Макровирусы — это главная проблема, которую создал язык программирования VBA, встроенный в офисные программы. Безопасная работа с макросами заключается в соблюдении простого правила: запрещать выполнение макросов, если их назначение Вам не известно.

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

Уровни безопасности

В системе безопасности предусмотрено четыре уровня защиты, для того чтобы их увидеть в MS Word 2003 либо MS Excel 2003, зайдем в меню Сервис/Макрос/Безопасность

Для просмотра уровней системы безопасности в MS Word 2007 и MS Excel 2007 нажимаем кнопку Microsoft Office , далее кнопку Параметры Word (Excel)/Центр управления безопасностью/Параметры центра управления безопасностью, после чего появится окно настройки параметров макросов. Описания уровней безопасности говорят сами за себя.

Уже замечено, что оптимальное соотношение между удобством и безопасностью при работе с макросами, достигается выбором второго пункта, который и установлен по умолчанию — "Отключить все макросы с уведомлением". В этом случае при запуске файлов, содержащих макросы, система выдает предупреждающее сообщение, а Вы в свою очередь на выбор можете либо подтвердить отключение макросов, либо разрешить им выполняться. Если подобные сообщения системы безопасности покажутся вам слишком назойливыми, можно выбрать опцию "Включить все макросы", что не рекомендуется системой безопасности. Так вы ставите вашу систему под угрозу. Даже используя антивирусное программное обеспечение, не следует забывать о потенциальной опасности макровирусов. Теперь Вы знаете о плюсах и минусах разных уровней системы безопасности и поработав какое-то время с макросами, сможете выбрать для себя наиболее удобный из предложенных вариантов. Выбор уровня защиты зависит только от Вас.

Цифровые подписи макросов

Особый интерес в окне "Центр управления безопасностью" представляет опция "Отключить все макросы кроме макросов с цифровой подписью". Выбрав эту опцию, Вы сможете спокойно запускать макросы, которые вы создали и подписали сами. Также можно использовать "Надежные расположения", где Вы можете хранить проверенные и надежные макросы и надстройки.

Надежные расположения

Добавлю несколько слов о разделе "Надежные расположения". В этом разделе прописываются пути к папкам, которые считаются надежными источниками для открытия файлов. Надежные расположения можно добавлять, удалять, изменять и отключать. Использование надежных расположений также снизит вероятность возникновения проблем при выполнении макросов. Добавляются надежные расположения в параметрах центра управления безопасностью. На видео показано как добавить надежные расположения в Microsoft Excel 2013 , но в других версиях и в других приложениях всё делается аналогично.

Настройка доступа к объектной модели VBA

И еще один нюанс, для корректной работы макросов и надстроек нужно установить доверие к объектной модели проектов VBA. Сделать это можно следующим образом:

Для приложений Office 2003 – Сервис/Макрос/Безопасность/Надежные издатели/Доверять доступ к Visual Basic Project

Для приложений Office 2007 – Меню/Параметры/Центр управления безопасностью/Параметры центра управления безопасностью/Параметры макросов/Доверять доступ к объектной модели проектов VBA (установить галочку).

В приложениях пакета MS Office 2010 расположение центра управления безопасностью, аналогично расположению его в версии 2007, с той лишь разницей, что кнопка Office изменена на вкладку с названием "Файл", выделенную зеленым цветом.

Таким образом, большую часть проблем связанных с работоспособностью макросов решит установка опции "Доверять доступ к проектам VBA" и некоторое снижение уровня безопасности.

Макрос – это одна из важнейших составляющих офисного приложения Excel, позволяющая без знания языка программирования создавать специальные команды, запуская которые удаётся быстро выполнять операции, предусмотренные производственными задачами.

Макрокоманды позволяют выполнять некоторые действия на полном автомате

Макросы значительно сокращают время, необходимое на выполнение однотипных заданий. Именно это объясняет такую высокую заинтересованность в их использовании со стороны большинства пользователей. Однако при первом запуске Excel, запустить макрос не удастся, поскольку по умолчанию функция воспроизведения макрокоманд отключена.

Желая повысить эффективность своей работы, многие стараются изучить информацию, как писать макросы в Excel, однако специалисты настоятельно рекомендуют первоначально разобраться, как включить макросы в Excel.

Отображение в Office 2003

В Excel макрокоманды включаются несложно, но первоначально следует пользователю выяснить, какой офис у него инсталлирован на компьютере, поскольку порядок действий, как запустить макрос в Excel в разных офисах немного отличается.

Office 2003

Чтобы включить макросы в Excel 2003, первоначально потребуется открыть непосредственно сам табличный редактор. Далее на самой верхней панели, среди предложенных инструментов меню, необходимо найти «Сервис», кликнув по которому, откроется контекстное меню, в перечне которого нужно найти пункт «Макрос».

Наведя курсор мышки на эту строку, открывается новое контекстное меню, среди которого выбор следует сделать на строке «Безопасность». Кликнув по нему, на экране отобразится диалоговое окно, предлагающее пользователю выбрать уровень безопасности. По умолчанию чаще всего переключатель установлен на высоком или очень высоком уровне безопасности, при котором макрокоманды просто так не запускаются.

Переставив переключатель в позицию среднего или низкого уровня безопасности, пользователю удастся впоследствии писать, запускать и редактировать макрокоманды.

Чтобы все произведённые изменения вступили в силу, необходимо перезапустить Excel, просто закрыв и сразу же его открыв.

Ознакомившись с информацией, как создать макрос в Excel, пользователь сможет практически сразу приступить к созданию команд, в которых так часто нуждается. Автоматическое выполнение функциональных команд сэкономит рабочее время и не спровоцирует усталость вследствие выполнения однообразной работы.

Отображение в Microsoft Office 2007 и 2010

Включить макрокоманды можно и в табличном редакторе нового поколения, только придётся воспользоваться несколько иными инструкциями, потому что панель инструментов, расположение меню офисов различных лет выпуска отличаются между собой.

Office 2007

По сути, включить макрокоманды в табличном редакторе офиса 2007 можно таким же самым способом, как и в Excel 2003. Отличие заключается лишь в том, что для открытия диалогового окна «Параметры макросов» приходится проделать несколько иной путь.

Читайте также:  Сколько молекул диоксида углерода

В офисе 2007 первоначально необходимо зайти в Меню, расположенное в верхнем левом углу, после чего сразу же осуществить переход в «Параметры Excel».

Вслед за этим на экране компьютера появится диалоговое окно «Центр управления безопасностью», визуально изучив которое можно без труда обнаружить строку «Параметры центра управления безопасностью», по которой нужно сразу же кликнуть левой клавишей мышки.

После осуществления последовательных переходов на экране отобразится подменю «Параметры макросов», предоставляющее возможность вносить изменения в процесс отображения, написания и запуска различных макрокоманд.

В новом открывшемся окне переключатель нужно установить на последней строке «Включить все макросы». Система, конечно, предупредит, что такие действия могут позволить осуществлять запуск и опасных программ. Однако если пользователь уверен в своих действиях, на компьютере установлена надёжная противовирусная защита, то опасаться такого предупреждения нет смысла.

Также включить и отключить макрокоманды в Excel 2007 можно более простым способом, ничем не отличающимся от включения их в Excel 2010.

Office 2010

Включить и отключить макрокоманды в Excel 2010 можно, воспользовавшись меню «Разработчик». Однако данное меню не всегда активно в табличном редакторе 2010, особенно в момент первого запуска офисного приложения, поэтому первоначально следует совершить определённые действия, чтобы создать данное меню на панели инструментов. Специалисты рекомендуют выносить на панель инструментов подменю, к которым приходится достаточно часто обращаться в процессе выполнения различных задач.

Для этого необходимо кликнуть по меню «Файл», далее перейти в «Параметры», а затем в «Настройку ленты». С правой стороны будет находиться список, среди предложенных вариантов пользователь может выбрать те меню, в которых он наиболее часто будет нуждаться, а потому желает, чтобы они постоянно были отображены на панели инструментов. В частности, в этот момент необходимо установить переключатель на строке «Разработчик» и нажать «Ок». После этого данное меню отобразится в верхней части Excel 2010.

Теперь включить и отключить макрокоманды будет несложно, достаточно будет навести курсор на «Разработчик», далее перейти на строку «Безопасность макросов», после чего откроется уже знакомое меню «Параметры макросов», в котором выбирается последний пункт.

Проделав все вышеописанные действия по включению макрокоманд, у пользователя уже не возникнут вопросы, как отключить макросы в Excel 2010, поскольку все шаги остаются такими же, только меняется их последовательность на обратную.

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

Писать такие команды в Excel 2010 несложно, достаточно кликнуть по строке «Начать запись», а дальше производить те действия, которые ранее выполнялись пользователем, и которые он желал бы осуществлять автоматически. Завершив выполнение действий, нажимается кнопка «Завершить». Теперь созданная подпрограмма будет отображаться в списке доступных, кликнув по ней, запустится процесс, идентичный тому, что был выполнен пользователем вручную.

Достаточно создать только первую макрокоманду в Excel 2010, как пользователь поймёт, что ничего сложного в этом нет, а также ощутит заметные преимущества, которыми станет сопровождаться его работа. Благодаря этому появляется желание писать новые подпрограммы и совершенствовать процесс выполнения производственных задач.

Итак, макрокоманды в табличных редакторах 2003, 2007 и 2010 способны восприниматься большинством пользователей в качестве лучших помощников, позволяющих рутинную работу автоматизировать и повысить её результативность.

Если вы работаете с книгами Excel древних форматов (таких, например, как Excel 4),
то в Excel 2010 вы можете столкнуться с проблемой, что редактирование этих файлов по-умолчанию запрещено.

В настройках Excel 2010 для этого предусмотрены специальные опции (скриншот)

Мало того, что Excel блокирует редактирование этих устаревших файлов,
так ещё и макросы начинают вести себя очень странно
(например, если активен файл Excel4, простейший макрос чтения пути текущего файла не запускается)

Избежать проблем при работе с такими файлами (а проблемы возможны, если вы обрабатываете макросом множество файлов, полученных от разных организаций), можно, если при открытии надстройки (файла с макросами) выполнить следующий код:

Достаточно поместить вызов этого макроса в процедуру Workbook_Open, — и ограничения будут сниматься при каждом запуске вашей надстройки.

Аналогично можно сделать макрос, включающий опцию «Доверять доступ к объектной модели проектов VBA»:

Этот код припишет в реестре Windows (в ветке с настройками безопасности Excel) необходимые параметры, и вы макросом сможете обращаться к свойствам проекта VBA
(например, чтобы выгрузить код макросов в текстовый файл, изменить кодовое имя листа или программно отредактировать код макросов, программно добавить элементы управления на форму, и т.д. и т.п.)

Отключить доступ тоже можно — достаточно поменять в макросе записываемое в реестр значение (с 1 на 0):

Многие пользователи надстроек (и других файлов Excel, содержащих макросы), при каждом запуске книги Excel во всплывающем окне жмут кнопку «Включить макросы».

Чтобы избавить пользователя от ежедневного уведомления об «опасных» макросах, можно использовать такой код:

После выполнения этого макроса, уровень безопасности в Excel будет изменен на «низкий» (при следующем запуске Excel), и уведомления об отключенных макросах (с предложением их включить) появляться не будут.

PS: C одной стороны, нехорошо без уведомления пользователя изменять настройки безопасности его программ.
Но, с другой стороны, макровирусов давно нет, а я сам не пишу вредоносные программы, так что считаю использование такого макроса допустимым.

  • 50330 просмотров

Комментарии

Добрый день. Я собираюсь распространять некие рекомендации на каждый день в формате эксель.
Довольно частая проблема — блокирована работа макросов + старые версии эксель.
Пожалуйста напишите мне код в котором при открытии книги я разрешаю работу макросов для этой книги.
Для других, я так понимаю разрешения не будет. но, мне надо, что бы это работало "железно" и у всех.

И еще одна проблема. Одна из моих пользовательниц пользуется яблочным компьютером. Там макросы вообще не идут. Делать что?

Не знаю, почему у вас так
Этот код проверен мной на тысячах компов, и у всех сообщение про макросы более не появлялось

Чтобы избавить пользователя от ежедневного уведомления об «опасных» макросах, можно использовать такой код:
——————————————
Sub Enable_AccessVBOM_and_Macro()
On Error Resume Next
Key$ = "HKEY_CURRENT_USERSoftwareMicrosoftOffice" & Application.Version & _
"ExcelSecurity"

Читайте также:  Код для проверки телефона samsung

‘ включаем программный доступ к объектной модели проекта VBA
CreateObject("WScript.Shell").RegWrite Key$ & "AccessVBOM", 1, "REG_DWORD"

‘ ставим низкий уровень безопасности (применится после перезапуска Excel)
CreateObject("WScript.Shell").RegWrite Key$ & "VBAWarnings", 1, "REG_DWORD"
End Sub
————————
Достаточно поместить вызов этого макроса в процедуру Workbook_Open
======================================================================

Сделал, как написано, НО . запрос на включение макросов все-равно появляется при каждом запуске .
Каждый раз разрешаешь запуск, а в следующий раз опять выходит сообщение о Включении макросов .
Что надо сделать, чтобы настройки стали минимальными, как написано в примере, чтобы сообщение о макросах больше не появлялось .

Сам нашёл создаем параметр тут
[HKEY_CURRENT_USER SoftwareMicrosoft Office14.0wordsecurity]

Подскажите при добавлении в реестр строку [HKEY_CURRENT_USER SoftwarePoliciesMicrosoft Office14.0wordsecurity]
"VBAWarnings"=dword:00000004 (при любом значении)
в самом ворде меню "параметры макросов" становиться не активной, как её оставить активной?

С хабра — "Исследователями в области информационной безопасности был обнаружен новый тип ransomwave — вредоносной программы, шифрующей пользовательские файлы и требующей выкуп в bitcoin. Новый криптовымогатель, который сами создатели назвали «locky», распространяется не совсем стандартным для подобного ПО способом — при помощи макроса в Word-документах. " , так что срочно закрываем макросы

Так! У мене була таже проблема! При програмном створенні нової книги потрібно було вставити в неї макрос і процедуру автозапуску макросу WorkBook_Open або Auto_Open цієї книги в подальшому при відкритті книги. Для цього потрібно встановити довірений доступ до проекту! Приклад функції Disable_AccessVBOM автора статті не деє належного результату: тобто після виконання тієї функції та подальшому зверненні до проекту книги для запису процедур (макросів) спливало повідомлення про помилку: "доступ до проекту не є довіреним . ". Запропонована автором статті функція не дає належного результату, як я припускаю, з тієї причини, що в Office встановлений подвійний ключ на управління доступом до проекту, пов’язаний з самою формою "Безпека макросів". Я вирішив проблему, з Божою допомогою, через запуск форми і її управління за допомогою функції SendKeys. Вибачте, я не буду приводити алгоритм у запобігання того. щоб він опинився в злих руках! Якщо у Вас гарні цілі. то експерементуйте.

Уважаемый админ. Снова Я. Недавно переставил Винду (пару часов назад), поставил 7 на всякий случай, чистую. Поставил Офис 2010, но так как должны выгружаться данные из програмки в Excel они не выгружаются все равно. (( Снова моргнет загрузка и тишина. Макросы разрешил, даже в устной форме))) но ничего.

Олег, я знаю в чем проблема (неверное значение 1-2 ключей в реестре Windows),
но мне лень писать вам инструкцию по поиску и правке этих ключей (на своём компе я бы разобрался, но с чужим компом проще не связываться)

Потому, самое простое решение в вашем случае, — снести все Office какие есть, и поставить только один (рекомендую Office 2010)
При этом все эти ключи перезапишутся, — и всё должно заработать.

Если не поможет, — то проблема в самой этой вашей программе, запускающей файл Excel (недостаточно универсальная)

Спасибо большое за внимание к моей проблеме!
Дело вот в чем. До 2010 у меня стоял 2007 Office, была такая же ситуация, я подумал так же что проблема в установке и установил 2010. но как видно это не помогло.
Что может еще так влиять на такого рода действия?
Спасибо.

Олег, в вашем случае макросы ни при чём.
Ваша программа формирует файл Excel, и даёт Windows команду открытия этого файла.
Если файл не открывается, — значит, Excel некорректно установлен
(не прописаны 1-2 параметра в реестре, отвечающие за команду открытия файлов Excel)

Самый простой способ решить проблему, — переустановить Excel (обновить / исправить установку)

Кто подскажет? Ситуация такая. Есть программа в которой делаю различные операции, а когда нажимаю кнопку Print, то должна запуститься Excel 2010 и все данные туда выкладываются . Так вот что, на других компах все норм работает, а у меня жмешь и ничего (на 1сек знак загрузки моргнет и все). Excel не запускается вообще. Макросы разрешены в безопасности. Что здесь может быть, куда необходимо нажимать. )) В Excel я как видите не силен. ((

а если даже после нажатия на "Включить содержимое", макросы не запускаются?

Есть другой вариант (если не хотите пересохранить файл после первого открытия):
код помещаете в модуль временного активного листа, процедуру запуска — в событие активации листа
После выполнения макроса удаляете этот временный лист — он удалится вместе с кодом, и макросов в файле не останется.

Дело в том, что я сделал книгу ексель, в которой находяться: Private Sub Workbook_Open в ЭтаКнига и 2 модуля. Эта книга должна автоматически открываться на 100 разных компьютерах. Задача стоит в том, чтобы по завршении работы программы все макросы удалялись из этой книги (мне это нужно для того, чтобы пользователи, которые будут открывать эту книгу постоянно не сталкивались с вопросом: "Эта книга содержит макросы. ". Программно ставить високий или низкий уровень макросов я не хочу (может у пользователей есть какие-то нюансы работы с ексель)). Версий ексель на этих компьютерах я не знаю, поэтому вариант с сохранением в формате xlsx мне не подходит.

jaroslav, надо перезапустить Excel, чтобы измененные в реестре настройки безопасности вступили в силу
(впрочем, если вручную менять в интерфейсе Excel — часто тоже перезапуск Excel требуется)
Т.е. не получится так, что макрос выполнили, я прям тут же начали программно работать с объектной моделью.

PS: а такие макросы, как Delete_Macroses, вообще не нужны
всё делается на порядок проще, одной строкой кода, — сохранением файла в формате XLSX
(Если нужен другой формат файла, но без макросов, то: создаете программно XLSX методом SAVEAS, закрываете созданный XLSX, открываете снова, сохраняете в нужном формате под нужным именем.)

А макросы, работающие с VBProject, советую использовать только на своем компе (для личных нужд) — где можно поставить галочку в настройках вручную.

Вы пишете:
"Аналогично можно сделать макрос, включающий опцию «Доверять доступ к объектной модели проектов VBA»:

Читайте также:  Передано перевозчику международная обработка

Sub Enable_AccessVBOM() ‘ включает программный доступ к объектной модели проекта VBA
On Error Resume Next
Key$ = "HKEY_CURRENT_USERSoftwareMicrosoftOffice" & Application.Version & _
"ExcelSecurityAccessVBOM"
CreateObject("WScript.Shell").RegWrite Key$, 1, "REG_DWORD"
End Sub

Этот код припишет в реестре Windows (в ветке с настройками безопасности Excel) необходимые параметры, и вы макросом сможете обращаться к свойствам проекта VBA".

Действильно этот макрос прописивает в реестре Windows (в ветке с настройками безопасности Excel) необходимые параметры, но галочку возле Доверять досту к Visual Basic Project в меню Надежные издатели меню Безопасность макросов вкладки безопасность меню Сервис/Параметры в Excel 2003 он не ставит. И при запуске макроса:
Sub Delete_Macroses()
Dim oVBComponent As Object, lCountLines As Long
If ActiveWorkbook.VBProject.Protection = 1 Then
MsgBox "VBProject ." & vbCrLf & _
" "
Exit Sub
End If

For Each oVBComponent In ActiveWorkbook.VBProject.VBComponents
On Error Resume Next
With oVBComponent
Select Case .Type
Case 1
.Collection.Remove oVBComponent
Case 2
.Collection.Remove oVBComponent
Case 3
.Collection.Remove oVBComponent
Case 100
lCountLines = .CodeModule.CountOfLines
.CodeModule.DeleteLines 1, lCountLines
End Select
End With
Next
Set oVBComponent = Nothing
End Sub
выдает ошибку 1004: "Отсутствует доверие к программируемому доступу к проекту Visual Basic". Подскажите, пожалуйста как программно поставить галочку в екселе возле Доверять досту к Visua Basic Project в меню Надежные издатели

По какой-то причине Enable_AccessVBOM() не выполняет, так сказать, полноценный запуск "доступа к объектной модели проекта VBA".
Т.е. макрос срабатывает, ошибок не выдает, но "доступа к объектной модели проекта VBA" все равно не предоставляет. Хотя галочка в соответствующем пункте меню проставляется.
При закрытии файла и последующем его открытии галочки опять нет.
А при запуске макросов в текущем файле выдает ошибку, что "доступ к объектной модели проекта VBA" не предоставлен.
Единственный путь полноценного выполнения макроса, который я нашел, это зайти в настройки, где галочка пункта "доступ к объектной модели проекта VBA" уже стоит и подтвердить нажатием "ОК".
Только тогда все срабатывает как надо.

Protsiv, конечно же, ваш макрос не сработает.

Для того и отключают в Excel макросы, чтобы они не запускались.

Для чего был написан этот код: Если пользователь, запустив ваш файл, увидит предупреждение о макросах, и нажмёт кнопку «Включить макросы для этого файла»,
то тогда (и только в этом случае) код сработает — и в следующий раз пользователь не будет видеть предупреждения о макросах.

Ну а если пользователь откажется от включения макросов — тут ничего не сделать, придётся запускать аналогичный код из скрипта VBS или приложения EXE.

Лично я в таких случаях поступаю проще: скрываю заранее все листы файла, оставляя только один видимый лист — инструкцию по включению макросов.
Тут у пользователя выбора нет — либо работать с файлом с макросами, либо вообще не пользоваться файлом.

Вставил этот макрос в Private Sub Workbook_Open()
Но ведь он даже не начинает выполняться, поскольку установлен высокий уровень безопасности, не говоря уже об автоматическом перезапуске Экселя.
Может я что-то делаю не так?

Александр, проблема решается путем исправления макроса.
Если макрос нормально написан — для него не должно быть разницы, защищены файлы, или нет.
Если есть необходимость — можете заказать доработку того макроса, или написание нового, под ваши нужды.

Написать на форуме planetaexcel.ru, приложить пример менее 100 kb

Суть проблемы — есть более 100 файлов excel, в каждом по одному листу, на книге установлена защита без пароля, при обработке макросом сбора листов из всех этих книг в одну книгу, он не работает ссылаясь на то, что книги защищены. Вопрос в том как это победить?

В статье речь про другую защиту.
Включить макросы из вашего файла не получится.
Тот код, что вы показали — это скрипт VBS (т.е. отдельный файл)
На ПланетеExcel неоднократно этот вопрос обсуждали — воспользуйтесь поиском.

PS: Если надо распространять файл с макросами, а объяснять способ их включения вы не хотите, — укомплектуйте ваш файл установщиком (файл exe), который скопирует файл Excel в нужную папку, и ярлык для него поместит в папку автозапуска Excel (или в папку Addins)
Тогда макросы будут работать без изменения уровня безопасности Excel.

Нашел вот такой вот СКРИПТ

Sub test()
Dim objXL
Dim Secur
Set objXL = CreateObject("Excel.Application")
objXL.Visible = TRUE
secur = objXL.AutomationSecurity
objXL.AutomationSecurity = 1
objXL.Workbooks.Open ( mid(Wscript.ScriptFullName,1,len(Wscript.ScriptFullName)-8) & "test.xls")
objXL.AutomationSecurity = secur
End Sub

Суть вопроса — в файле есть юзерформа, которая активизируется при открытии файла, но если защита включена, то соответственно форма не появится и необходимо будет сначала выключить защиту (т.е. включить макросы), а уж потом нажать на кнопку "Меню", чтобы отобразилась форма. Программа будет запускаться в большой Холдинг и по этому, чтобы не учить всех сотрудников сети включать макросы — хотелось бы их включать автоматически при открытии файла. Если есть такая возможность дописать код — буду очень Вам благодарен. Т.к. у меня не выходит. Заранее спасибо!

Смотря зачем отключать, и из какого файла.
Если вы хотите получить доступ к коду файла, при открытии которого будет выполняться снятие защиты,
то не знаю, применятся ли настройки сразу
(возможно, придётся макросом закрыть текущий файл, и открыть его снова)

А возможно ли если включена защита — отключить её сразу при открытии файла?

Можно. Это запуск cmd.exe. И запуск из нее Excel после двухсекундной задержки. Если быть точным, не Excel, а предварительно сохраненной рабочей области.

Я извиняюсь, а можно прокомментировать следующую строку кода:
Shell "cmd.exe /c" & "ping -n 2 localhost > null&&start C:Temp
esume_3.xlw&&del C:Temp
esume_3.xlw -f"

Пожалуйста!
У этого способа есть явные слабые места. Просто написал первое, что пришло в голову.

Я тоже думаю, что перезапускать Excel в данном случае смысла нет.

Но за код перезапуска Excel — огромное спасибо.
Сам бы не догадался до такого способа.
Осталось только придумать ситуацию, когда подобный перезапуск приложения может быть полезен.

Вообще, я подумал в спокойной обстановке и получается, что нет смысла передергивать Excel.

напишу на всякий случай и сюда =)

Почему бы не перезапустить Excel программно?

Ссылка на основную публикацию
Утилиты асус для ноутбука
Драйверы и утилиты от производителя для ноутбуков и нетбуков ASUS под операционную систему Windows 10 / 8.1 / 8 /...
Теплопроводность олова и меди
Все изделия, используемые человеком, способны передавать и сохранять температуру прикасаемого к ним предмета или окружающей среды. Способность отдачи тепла одного...
Терминальные лицензии windows server 2008 r2
Установка сервера терминалов в 2008/2008R2 2 часть / активация сервера терминалов 2008 r2 Установка сервера терминалов в 2008/2008R2 2 часть...
Утилиты для виндовс 10 64 бит
Скачать антивирус NOD32 на компьютер Windows 10 бесплатно на русском языке для защиты ноутбука или ПК от вирусов и потенциального...
Adblock detector