![]() |
![]() |
![]() |
|
Макрос Excel'я вызывается дважды. И почему? И как лечить? | ☑ | ||
---|---|---|---|---|
0
GrayT
11.10.05
✎
09:34
|
Подсмотрел такой код
XLS = CreateObject("Excel.Application"); Книги = XLS.Workbooks; РабочаяКнига = Книги.Add(); КолВоПроектов = XLS.ActiveWorkbook.VBProject.VBComponents.Count(); Проект = XLS.ActiveWorkbook.VBProject.VBComponents.Add(1); Проект.Name = "ExlMacro1c"; Модуль = XLS.ActiveWorkbook.VBProject.VBComponents.Item(КолВоПроектов + 1).CodeModule; Модуль.InsertLines(1, "Sub Golif()"); Модуль.InsertLines(2, "MsgBox " + """" + "Работает" + """"); Модуль.InsertLines(3, "End Sub"); XLS.Visible = 1; XLS.Run("Golif()"); Все работает,...но. Окошко с "Работает" появляется дважды. И как быть? И еще если этот код перенести в дельфи, то не взлетит - i:= Excel.ActiveWorkbook.VBProject.VBComponents.Count(); Ругается типа, Члены коллекции не найдены. Непонятно. Как обойти в принципе нашел, поэтому первый вопрос важнее. Из Делфи тоже два раза запускается |
|||
1
Груздь
11.10.05
✎
09:57
|
XLS.Run("Golif");
|
|||
2
Ковычки
11.10.05
✎
10:01
|
(0) А как ты возвращать значение собираешься...?
|
|||
3
GrayT
11.10.05
✎
11:02
|
(1)И все? Ну ты монстр :) Спасибо!
А почему так не подскажешь. Ведь действительно без скобок по одному разу вызывается что из 1с что из дельфи. И почему в дельфи Count() ргается (2)Я не собирался возвращать - они мне не нужны. :) |
|||
4
Груздь
11.10.05
✎
11:04
|
(3) i:= Excel.ActiveWorkbook.VBProject.VBComponents.Count;
|
|||
5
skunk
11.10.05
✎
11:05
|
почему просто не скажещь... что Count не функция...
|
|||
6
GrayT
11.10.05
✎
11:20
|
(5)Для тупого 1С-ника это ни чего не скажет :)
(4)Спасибо! |
|||
7
Скунк
11.10.05
✎
11:21
|
почему?
|
|||
8
GrayT
11.10.05
✎
11:28
|
(7)Потому что он задает вопросы типа (7)
Вопрос общего плана. Дома самым наглым образом глючит хелп по ВБА. Стоял МсОФ2000. При вызове справки извенения и отбой. Переставил на офис ХР (такой же как на работе - на работе таких проблем нет). Несколько раз справка вызвалась нормально, потом такая же фигня начилась. А без справки элементарные вещи найти не могу :( Чем лечить? hh.exe вроде новый скачивал недавно. |
|||
9
GrayT
11.10.05
✎
11:32
|
+8 Вылетает даже если не из оболочки вызывать, а напрямую chm'ку дергать.
|
|||
10
lisss
11.10.05
✎
11:33
|
(8)Не кривым софтом, я думаю....
|
|||
11
в бане я
11.10.05
✎
11:34
|
ясно...
|
|||
12
GrayT
11.10.05
✎
11:37
|
(10)Умный, да?
(11)Сочувствую. |
|||
13
в бане я
11.10.05
✎
11:40
|
мне по барабану... просто Герка ябеда... и плакса...
|
|||
14
Ковычки
11.10.05
✎
11:42
|
(12) Если не страшный секрет, чего хочешь добиться в (0)
|
|||
15
GrayT
11.10.05
✎
11:44
|
(14)Это очень страшная тайна. :)
Есть идейка, а опыта нет. Вот на таких мелочах и двигаемся к цели. Так что, я один счасливчик с кривой подсказкой? |
|||
16
Ковычки
11.10.05
✎
11:50
|
(15) Не парься так, создай лучче либо док с этими макросами, либо шаблон, и нормально по оле подцепляйся, только один минус что файлик таскать... Но зато ненужно подписание/доверие и безопасность да хоть на самом максимуме в офисе...
|
|||
17
в бане я
11.10.05
✎
11:52
|
пожи вирусяку ваяешь ;)... да?
|
|||
18
GrayT
11.10.05
✎
11:58
|
(17)Нет. Мне дорого мое имя :)
(16)Вот из-за того что файлик таскать и не хочу так. Ищу красоту решения. Кстати про подписи. Сейчас естественно пришлось занизить уровень безопасности - это не есть гуд. Про сертификаты придется еще почитать, но все это как то смутно представляю. Есть возможность подцепиться с VBAProjekt, при том что б не "доверять доступ к макросам"? |
|||
19
skunk
11.10.05
✎
12:01
|
вот для этого вирусами и надо заниматься... что бы можно быыло сделать то... что другим не можно...
как вариант... загаси его на этапе подключения... через ОЛЮ |
|||
20
GrayT
11.10.05
✎
12:04
|
"как вариант... загаси его на этапе подключения... через ОЛЮ" - еще б знать как.
|
|||
21
skunk
11.10.05
✎
12:10
|
(21)мне пустое письмо на мыло швырни... мыло в карточке...
а то тут на формуе IQ начали прикручивать... еще чего доброго научиться трояны делать... будет потом нас заражать... |
|||
22
GrayT
11.10.05
✎
12:21
|
(21)Без проблем - уже ушло.
|
|||
23
skunk
11.10.05
✎
12:24
|
(22)я седня гляну... давно уже в эту сторноу не баловался... тебе надо только в екселе на момент выполнения отключить эту опцию...
или еще ченить там натворить... если большой секрет... то опять мылом... и наушко шепни... |
|||
24
skunk
12.10.05
✎
11:57
|
фу кое как нашел...
короче все что ты хочешь сделать... там макросы нах не нужны... отправил тебе пример на 1С... за дельфина сорри... не стоит... и негде ставить... а по памяти бздеть не умею... не Герочка... говорю только за то что знаю.. но думаю большого труда в дельфин перетащить не составит... удачи ;) |
|||
25
skunk
12.10.05
✎
12:14
|
если это то... что тебе надо ... в аську плюнь... нет тоже...
да и так если что кидай вопросы... правда я в ней редко... в оснсновм гляну... и айда комсомол ... |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |