Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Включение макросов на всех станциях / 15 сообщений из 15, страница 1 из 1
26.04.2010, 07:44
    #36597625
Включение макросов на всех станциях
Добрый день!

Кто-нибудь знает, как разрешить макросы на всех станциях в сети предприятия, чтоб не бегать персонально к каждому пользователю? Ну и заодно отключить возможность пользователю отключать их.
...
Рейтинг: 0 / 0
26.04.2010, 08:13
    #36597634
vikttur
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Включение макросов на всех станциях
В таком случае был бы зеленый свет для всякого рода макросов-вредителей - информацию потереть, файлики попортить :)
Но можно обойти. Нужно один раз побегать и установить на каждую машину программульку, включащую макросы. Скрипт здесь:
http://www.planetaexcel.ru/forum.php?thread_id=10558
...
Рейтинг: 0 / 0
26.04.2010, 09:14
    #36597676
Hugo121
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Включение макросов на всех станциях
Бакуленко Макс,
можно сделать персональный wsh скрипт для каждого файла (скрипт положить в папку с файлом):
Код: 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
26.04.2010, 10:40
    #36597835
Включение макросов на всех станциях
viktturВ таком случае был бы зеленый свет для всякого рода макросов-вредителей - информацию потереть, файлики попортить :)
Но можно обойти. Нужно один раз побегать и установить на каждую машину программульку, включащую макросы. Скрипт здесь:
http://www.planetaexcel.ru/forum.php?thread_id=10558

Дык, вопрос то как раз в том, чтоб даже один раз не оббегать. Как например, создать reg файлик и запускать его через политику или чего-нибудь такое. Грубо говоря, надо узнать какой ключ реестра надо изменять.
...
Рейтинг: 0 / 0
26.04.2010, 10:42
    #36597838
Включение макросов на всех станциях
Hugo121Бакуленко Макс,
можно сделать персональный wsh скрипт для каждого файла (скрипт положить в папку с файлом):
Код: 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

Но можно в системе запретить и запуск этих скриптов.

Я правильно понимаю, что запускать надо будет не excel-файл, а этот скрипт, а он уже откроет нужный файл?
...
Рейтинг: 0 / 0
26.04.2010, 11:00
    #36597871
Hugo121
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Включение макросов на всех станциях
Бакуленко Макс, да, запускать скрипт - он открывает файл, и в нём работают макросы, хотя уровень безопасности остаётся высоким - но проверял только на 2000.
...
Рейтинг: 0 / 0
26.04.2010, 11:53
    #36598017
Включение макросов на всех станциях
Hugo121Бакуленко Макс, да, запускать скрипт - он открывает файл, и в нём работают макросы, хотя уровень безопасности остаётся высоким - но проверял только на 2000.

Прошу прощения за возможно дурацкий вопрос. Приведенный скрипт необходимо и достаточно копипастнуть в файл или надо еще чего-нибудь дописать? А то у меня ошибку выдает "Сценарий не указан" при запуске двойным кликом. Правда, у меня OpenOffice стоит. Попробую на виртуалке проверить с MS Office'ом.
...
Рейтинг: 0 / 0
26.04.2010, 12:12
    #36598067
Hugo121
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Включение макросов на всех станциях
Бакуленко Макс, системе на Опене вероятно это незнакомо:
Код: plaintext
1.
Set objExcel = CreateObject("Excel.Application")
...
Рейтинг: 0 / 0
27.04.2010, 08:06
    #36599793
Включение макросов на всех станциях
Запустил на 2007 офисе, все равно ругается, что сценарий не указан.
Я вообще правильно делаю, что запускаю скрипт двойным кликом или может надо как то по-другому делать?
...
Рейтинг: 0 / 0
27.04.2010, 08:29
    #36599806
Включение макросов на всех станциях
Извиняюсь, затупил. Назвал файл расширением wsh. Поменял на vbs и все стало запускаться.
Но, не выполняются макросы на машинах, где они не разрешены. Офис 2007. Куда копать?
...
Рейтинг: 0 / 0
27.04.2010, 09:30
    #36599909
big-duke
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Включение макросов на всех станциях
Бакуленко Макс,

Попробуйте через доменные политики.
...
Рейтинг: 0 / 0
27.04.2010, 11:14
    #36600141
Включение макросов на всех станциях
Кажется, наконец я понял генеральную мысль.

WSH скрипт призван не включить макросы в Офисе, а собственно, в нем и будет макрос, работающий с документом.

Немного почитал, в целом все понятно, но возникли кое-какие подводные камни.
Мне в макросе необходимо получить имя залогиненного юзера. В макросе на VBA в самом Excel я использовал Environ("UserName") и все работало. Адаптировать для Wsh я не могу.
Делаю так.
Код: plaintext
1.
2.
Set objWSH = CreateObject("WScript.Shell") 
Set WSHEnv = objWSH.Environment("SYSTEM")
objXL.Sheets( 1 ).Cells( 10 , 3 ) = "U: " & WSHEnv("UserName")

Выводит только "U:". Сайт мелкомягких вот здесь вообще не упоминает о существовании нужной мне переменной окружения.

Как заставить эту штуку выводит имя пользователя? Должно же быть короткое решение, подобное Environ.
...
Рейтинг: 0 / 0
27.04.2010, 11:26
    #36600185
vlth
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Включение макросов на всех станциях
Код: plaintext
1.
2.
Dim WshNetwork, UsNm
Set WshNetwork = CreateObject("WScript.Network")
UsNm = WshNetwork.UserName
...
Рейтинг: 0 / 0
27.04.2010, 11:32
    #36600205
Включение макросов на всех станциях
vlth
Код: plaintext
1.
2.
Dim WshNetwork, UsNm
Set WshNetwork = CreateObject("WScript.Network")
UsNm = WshNetwork.UserName


Огромное спасибо всем, а в особенности Hugo121 и vlth.

Единственное, что хотел спросить. Где можно искать подобные решения? Ведь очевидно, что это мелочи, но времени они отнимают ого-го как много. Сам тоже нашел параллельно, но убил на это кучу времени.
Где можно найти, например, список объектов, которые можно создавать функцией CreateObject? Какие руководства необходимо читать, чтоб не мучить такими вопросами общественность?
...
Рейтинг: 0 / 0
27.04.2010, 12:04
    #36600288
vlth
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Включение макросов на всех станциях
Вот , например. Только, по-моему, для изучения чего бы то ни было, бумажный вариант удобнее...
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Включение макросов на всех станциях / 15 сообщений из 15, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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