powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Макросы в экселе
25 сообщений из 40, страница 1 из 2
Макросы в экселе
    #36680402
pepel222
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вопрос такой
в файле есть макросы, выслыаю коллегам уних сразу они снимаются, т.к. стоит высокий уровень защиты
постоянно просить, чтобы ставили низкий уровень нереал

как прописать так, чтобы коллеги открывали файл в экслеь сразу с макросами без лишних вопросов?
...
Рейтинг: 0 / 0
Макросы в экселе
    #36680501
Фотография big-duke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pepel222,

Если это Excel 2007, то следует настроить доверенные источники.
Для 2003 подойдет цифровая подпись макросов.
...
Рейтинг: 0 / 0
Макросы в экселе
    #36680794
pepel222
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
big-duke,
файл могут открывать в различных версиях эксель
что нужно и куда прописать?
...
Рейтинг: 0 / 0
Макросы в экселе
    #36681518
pepel222
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dim secAutomation As MsoAutomationSecurity

secAutomation = Application.AutomationSecurity

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

Dim fn As String

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

прописал такой макрос
но он почему-то не срабатывает, если в экселе стоит высокая степень защиты макросов
подскажите что подкорректировать?
...
Рейтинг: 0 / 0
Макросы в экселе
    #36688316
pepel222
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
народец помогите
как быть ...
...
Рейтинг: 0 / 0
Макросы в экселе
    #36688410
Hugo121
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
pepel222,
попробуйте vbs скрипт, запускать из папки с Вашим файлом:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
Option Explicit
Dim objFSO, objExcel, ExcelPath, wb

Set objFSO = CreateObject("Scripting.FileSystemObject") 
ExcelPath = objFSO.GetParentFolderName(WScript.ScriptFullName) 
Set objExcel = CreateObject("Excel.Application")
Set wb = objExcel.Workbooks.Open (ExcelPath & "\Вашфайл.xls")
objExcel.Visible = True
Set objExcel = Nothing
...
Рейтинг: 0 / 0
Макросы в экселе
    #36688577
Фотография vikttur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Старый совет: при отключенных макросах вся информация скрыта, виден только лист с большим кулаком или грозящим пальцем, надписью «Включи макросы!!!» и подсказкой, где их включить; при низком уровне безопасности кулака не видно, все нормальненько работает :)
...
Рейтинг: 0 / 0
Макросы в экселе
    #36689144
Фотография Shamanus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
интересная тема
я раньше защищал свои файлы примерно так

На листе 3 формула, которая зависит от макросов, вставлена в ячейку с поименованным диапазоном. Если макросы включены, то формула возвращает true, иначе ошибку.

Лист конечно лучше скрыть и защитить кодом.

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


- либо условное форматирование подсвечивает результат в случае адекватности контрольного значения
...
Рейтинг: 0 / 0
Макросы в экселе
    #36689425
pepel222
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Hugo121 - увы не работает
Shamanus - посмотрю
спс
...
Рейтинг: 0 / 0
Макросы в экселе
    #36689443
Фотография Shamanus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pepel222Hugo121 - увы не работает
Shamanus - посмотрю
спс

отпишитесь если несложно

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

Ну т.е. любой разовый запуск макроса и зеленая дорога в будущем.
...
Рейтинг: 0 / 0
Макросы в экселе
    #36689486
pepel222
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shamanus ,
посмотрел Ваш файлик - сделано прикольно, но обойти не получается
чтобы сразу отключить

тоже слышал, что засчет макроса можно поменять в реестре ключик на низкий уровень безопасности
но где бы это нарыть и чтобы главное работало ....
...
Рейтинг: 0 / 0
Макросы в экселе
    #36689515
Фотография Shamanus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pepel222,

специально для Вас порылся в прошлых работах

вот файлик, который меняет ключ реестра на нужный, только он работает для офиса 11, то бишь 2003 офис, в 2007 этого ключика нет. Я у себя уже посмотрел.

Как откорректировать реестр средствами VBA думаю гугл подскажет, на крайняк можно операционную систему заставить незаметно этот файл запустить.


а вот тут не пойму, что Вы имеете ввиду
pepel222
Shamanus ,
посмотрел Ваш файлик - сделано прикольно, но обойти не получается
чтобы сразу отключить
...
Рейтинг: 0 / 0
Макросы в экселе
    #36689559
Hugo121
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
pepel222Hugo121 - увы не работает


Что именно не работает - файл не открывает, или файл открылся, а макросы в нём не работают?
Правда у меня тольк 2000 офис доступен, в нём работет.
...
Рейтинг: 0 / 0
Макросы в экселе
    #36689597
_slan_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hugo121, а где в скрипте включаются макросы? не надо ли туда вставить после инициализации приложения строки

secAutomation = Application.AutomationSecurity

Application.AutomationSecurity = msoAutomationSecurityLow
...
Рейтинг: 0 / 0
Макросы в экселе
    #36689598
pepel222
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
нашел такой макрос
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

но блин не меняет увы уровень защиты ...


Hugo121 , скрипт который написали не меняет безопасность ...
Shamanus , имел в виду что, не обойти сразу проблему понижения безопасности, за счета файла с имз реестром, не покатит, клиента его запускать не будут =(((

надо что-то придумать
чтобы при открытии файла экслель понижалась безопасность макросов, чтобы они всегда работали
вот в чем вопрос
...
Рейтинг: 0 / 0
Макросы в экселе
    #36689614
pepel222
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
_slan_
по этому и прошу помощи
может предложите раб вариант?
буду признателен
...
Рейтинг: 0 / 0
Макросы в экселе
    #36689632
Djon Player
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pepel222
Hugo121 , скрипт который написали не меняет безопасность ...
Вариант Hugo121 и не должен менять безопасность, оно просто открывает нужный файл и в нём запускает нужный макрос независимо от уровня безопасности.
...
Рейтинг: 0 / 0
Макросы в экселе
    #36689634
_slan_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pepel222,
так я спрашиваю у Hugo121.. так прямо, в общем-то и пишу..

сам в скриптах не очень, это лишь моя догадка, потому и сослагательное наклонение..
...
Рейтинг: 0 / 0
Макросы в экселе
    #36689673
Фотография Shamanus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pepel222нашел такой макрос
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

но блин не меняет увы уровень защиты ...



Зайдите в excel, сделайте высокую безопасность макросов.
Запустите мой файл, который предлагает изменить реестр.
Запустите excel посмотрите изменился ли уровень безопасности
...
Рейтинг: 0 / 0
Макросы в экселе
    #36689829
Hugo121
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я тут чуть занят был, извините.
Да, мой код просто открывает файл с разрешёнными макросами, т.е. они будут работать. Если есть код на открытие файла, он запустится. Если надо принудительно запустить код из модуля файла, то вот, пример из старого рабочего проекта, после открытия файла срабатывает код "CompareFiles":
Код: plaintext
1.
2.
3.
4.
5.
6.
Set objFSO = CreateObject("Scripting.FileSystemObject") 
Set objShellApp = CreateObject("Shell.Application") 
ExcelPath = objFSO.GetParentFolderName(WScript.ScriptFullName) 
Set objExcel = CreateObject("Excel.Application"): Set wb = objExcel.Workbooks.Open (ExcelPath & "\CompareFiles.Find.Rus.v107.xls")
objExcel.Visible = True
objExcel.Application.OnTime Now, "CompareFiles"
Set objExcel = Nothing
...
Рейтинг: 0 / 0
Макросы в экселе
    #36690331
leoway
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Hugo121Я тут чуть занят был, извините.
Да, мой код просто открывает файл с разрешёнными макросами, т.е. они будут работать. Если есть код на открытие файла, он запустится. Если надо принудительно запустить код из модуля файла, то вот, пример из старого рабочего проекта, после открытия файла срабатывает код "CompareFiles":
Код: plaintext
1.
2.
3.
4.
5.
6.
Set objFSO = CreateObject("Scripting.FileSystemObject") 
Set objShellApp = CreateObject("Shell.Application") 
ExcelPath = objFSO.GetParentFolderName(WScript.ScriptFullName) 
Set objExcel = CreateObject("Excel.Application"): Set wb = objExcel.Workbooks.Open (ExcelPath & "\CompareFiles.Find.Rus.v107.xls")
objExcel.Visible = True
objExcel.Application.OnTime Now, "CompareFiles"
Set objExcel = Nothing


Подскажи, что здесь что?

я так понимаю что не хватает:

Option Explicit
Dim objFSO, objShellApp, objExcel, ExcelPath, wb

где здесь название файла, а где запускаемый макрос.
...
Рейтинг: 0 / 0
Макросы в экселе
    #36690498
Hugo121
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
leoway,
ну да, Dim можно и добавить, но не обязательно.
название файла - CompareFiles.Find.Rus.v107.xls
запускаемый макрос - CompareFiles
Меняете эти названия на свои, этот код сохраняете как *.vbs, запускаете даблкликом.
Но в системе может быть отключен запуск таких скриптов, для проверки запустите приложение :)
...
Рейтинг: 0 / 0
Макросы в экселе
    #36690566
pepel222
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Hugo121 ,
что-то я в ступоре...
как мне прекрепить файл vbs чтобы он на автомате с эксель
...
Рейтинг: 0 / 0
Макросы в экселе
    #36690635
Hugo121
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
pepel222,
прикрепить никак. Посылайте в паре. А что делать? :)
...
Рейтинг: 0 / 0
Макросы в экселе
    #36690644
pepel222
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Hugo121,

как-то прописывать в эксель...
...
Рейтинг: 0 / 0
25 сообщений из 40, страница 1 из 2
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Макросы в экселе
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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