|
|
|
Не выводить окно диалога на запуск макроса при открытии Excel
|
|||
|---|---|---|---|
|
#18+
При запуске шаблона(файла) *.xls из другой программы, появляется окно диалога, которое предупреждает о запуске макроса. Необходимо, чтобы оно не появлялось, а макрос отрабатывал без лишних вопросов. Просто не может рядом сидеть человек и 1000 раз нажимать Enter. Уровень безопасности изменять также нельзя - такова политика безопасности на предприятии. Запись в реестр тоже не рассматриваем из-за возможной реакции на это антивирусов и сисадминским запрещением внесения изменений в реестр. Можно ли каким-то простым програмнымными решениями или например опциями из командной строки - отключать проверку безопасности для конкретного запуска Excel, а затем ей вновь включать? Или сразуже имитировать нажати Enter, чтобы подтверждать выполнение макроса? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2007, 02:48:39 |
|
||
|
Не выводить окно диалога на запуск макроса при открытии Excel
|
|||
|---|---|---|---|
|
#18+
Для решения вопроса есть 2 способа. 1)Создайте цифровую подпись для своих макросов. Только создавайте не локальную, а доменную подпись, используя соответствующую службу. Ну и подписывайте проекты этой подписью. Когда юзер откроет такой файл впервые, Excel спросит его следует ли открывать эту книгу с макросами. Там будет чекбокс "Всегда доверять...". Необходимо выбрать этот пункт. Все последующие открытия любых файлов с такой подписью будет происходить без вопроса о включении макросов. 2) Второй способ позволяет программно установить уровень безопасности. На vba это выглядит примерно так. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Итого: Первый способ позволяет открывать подписанные файлы не через программу, а просто из проводника, с выбранным высоким уровнем безопасности макросов. К тому же цифровая подпись подтверждает, что эта книга создана именно этим программистом. Но второй способ, конечно, менее энергозатратен и более предпочтителен именно для описанной проблемы. Надеюсь помог. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2007, 11:34:28 |
|
||
|
Не выводить окно диалога на запуск макроса при открытии Excel
|
|||
|---|---|---|---|
|
#18+
Такой способ я знаю. Написав код на смену безопасности и вставив его в открываемый файл, тем самым мы создаем макрос, на который будет ругатся система безопасности при открытии файла и мы наступаем на грабли от которых хотим избавится. 1. Как отключить из внешней программы написанную на другом языке, вызвав какую либо функцию Windows? 2. А вот можно ли отключить безопасность из командной строки, чтобы вобще не использовать программный способ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2007, 15:09:03 |
|
||
|
Не выводить окно диалога на запуск макроса при открытии Excel
|
|||
|---|---|---|---|
|
#18+
создать два файла скрипта. первый будет отключать безопасность, второй включать ее обратно. а в промежутке выполнять работы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2007, 18:25:05 |
|
||
|
Не выводить окно диалога на запуск макроса при открытии Excel
|
|||
|---|---|---|---|
|
#18+
Дадахансоздать два файла скрипта. первый будет отключать безопасность, второй включать ее обратно. а в промежутке выполнять работы. т.е. хотел сказать в скрипте отключить безопасность, и им же открыть файл ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2007, 18:32:51 |
|
||
|
Не выводить окно диалога на запуск макроса при открытии Excel
|
|||
|---|---|---|---|
|
#18+
Скрипт - это код на VB? А как скрипт запускать? Например, из программы написанной на С++ или из SAPa или т.п. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2007, 00:40:02 |
|
||
|
Не выводить окно диалога на запуск макроса при открытии Excel
|
|||
|---|---|---|---|
|
#18+
Имелся ввиду скорей всего VBScript, который работает через WSH (что-то типо windows script host). Встроен во все винды начиная с win2000, если спец. не удалять только. У VBScript возможности конечно по скромнее чем у Visual Basic, но ActiveX технологию он поддерживает, так что через CreateObject можно решить почти все проблемы, главное что компонент нужный был. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2007, 10:27:55 |
|
||
|
|

start [/forum/topic.php?fid=61&msg=34851640&tid=2182132]: |
0ms |
get settings: |
5ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
33ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
| others: | 221ms |
| total: | 346ms |

| 0 / 0 |
