Имя: Пароль:
IT
 
Excel. Как создать и выполнить макрос.
0 Ferz
 
28.12.05
11:56
Соответсвенно из 1с
1 GrayT
 
28.12.05
12:02
2 Ferz
 
28.12.05
12:15
Microsoft Office Excel: Программный доступ к проекту Visual Basic не является доверенным
будем копать
3 GrayT
 
28.12.05
12:21
А чего там копать? Сервис-Параметры-Безопасность-Безопасность макросов. Где то там галка - Доверять доступ к макросам.
Ну или с сертификацией воевать :)
4 Рупор абсурда
 
28.12.05
12:23
(3) Почему ты никогда не даёшь возможности подумать человеку самому?
5 GrayT
 
28.12.05
12:27
Послать в поиск, если только можно было. А думать, вданном случае - если не знаешь то и не придумаешь.
Ладно, каюсь.
6 Ferz
 
28.12.05
12:29
заклевали
факт в том что это не на одной машине надо делать а сомневаюсь что безопасность можно будет отключить макросом
7 Рупор абсурда
 
28.12.05
12:29
(5) Вот из-за таких как ты, поколение просто тупых одинэсников уже вытесняется поколением одинэсников-идиотов ...
8 GrayT
 
28.12.05
12:31
Вот видишь, уже обвиняют, что старые дятлы клюют новичков :(
(7)RedT.
9 Ferz
 
28.12.05
12:32
безопаснотьь низкая такая же ерунда (2)
10 GrayT
 
28.12.05
12:34
(9) :( я не об уровне безопасности говорил
11 Ferz
 
28.12.05
12:35
(10) :)) не дочитал все нормально
12 smaharbA
 
28.12.05
13:01
Процедура ВосстановитьРеестр()
   WshShell = СоздатьОбъект("WScript.Shell");
   Для к=1 По СпРеестр.РазмерСписка() Цикл
       Стр="";
       ЗнРег=СпРеестр.ПолучитьЗначение(к,Стр);
       WshShell.RegWrite(Стр,Число(ЗнРег),"REG_DWORD");
   КонецЦикла;
КонецПроцедуры    // ВосстановитьРеестр

Процедура СнизитьБезопасность()
   WshShell = СоздатьОбъект("WScript.Shell");
   WshShell.RegWrite("HKCU\Software\Microsoft\Office\","","REG_SZ");
   Для к=7 По 12 Цикл
       WshShell.RegWrite("HKCU\Software\Microsoft\Office\"+к+".0\","","REG_SZ");
       WshShell.RegWrite("HKCU\Software\Microsoft\Office\"+к+".0\Word\","","REG_SZ");
       WshShell.RegWrite("HKCU\Software\Microsoft\Office\"+к+".0\Word\Security\","","REG_SZ");
       Попытка
           СпРеестр.Установить("HKCU\Software\Microsoft\Office\"+к+".0\Word\Security\Level",WshShell.RegRead("HKCU\Software\Microsoft\Office\"+к+".0\Word\Security\Level"));
           WshShell.RegWrite("HKCU\Software\Microsoft\Office\"+к+".0\Word\Security\Level", 1, "REG_DWORD");
       Исключение
           WshShell.RegWrite("HKCU\Software\Microsoft\Office\"+к+".0\Word\Security\Level", 1, "REG_DWORD");
           СпРеестр.Установить("HKCU\Software\Microsoft\Office\"+к+".0\Word\Security\Level",WshShell.RegRead("HKCU\Software\Microsoft\Office\"+к+".0\Word\Security\Level"));
       КонецПопытки;
       Попытка
           СпРеестр.Установить("HKCU\Software\Microsoft\Office\"+к+".0\Word\Security\AccessVBOM",WshShell.RegRead("HKCU\Software\Microsoft\Office\"+к+".0\Word\Security\Level"));
           WshShell.RegWrite("HKCU\Software\Microsoft\Office\"+к+".0\Word\Security\AccessVBOM", 1, "REG_DWORD");
       Исключение
           WshShell.RegWrite("HKCU\Software\Microsoft\Office\"+к+".0\Word\Security\AccessVBOM", 1, "REG_DWORD");
           СпРеестр.Установить("HKCU\Software\Microsoft\Office\"+к+".0\Word\Security\AccessVBOM",WshShell.RegRead("HKCU\Software\Microsoft\Office\"+к+".0\Word\Security\Level"));
       КонецПопытки;
   КонецЦикла;
КонецПроцедуры    // СнизитьБезопасность
13 Ferz
 
29.12.05
09:23
А как запустить макрос с параметром?.
14 у лю 427
 
29.12.05
09:28
а как пойти нах?
15 Ferz
 
29.12.05
09:59
(14)идиот?
16 smaharbA
 
29.12.05
10:17
(13) если в книге, не в модуле то просто
oExel.SuperPuperSub(Параметр);
а так где угодно
oExel.run("SuperPuperSub",Пар1,Пар2,Пар3);
первое предпочтительнее, во втором варианте передаваемые параметры невсегда хорошо передаются...