Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Ошибка при запуске Run-time error ' 429 ' ActiveX component can't create object
 
ZVI,  - - работает.!
Как говорится - "ты сделал мой ноябрь".
Спасибо тебе мил человек. Дай тебе Бог здоровья.
Ошибка при запуске Run-time error ' 429 ' ActiveX component can't create object
 
Цитата
ZVI написал:
такой вариант кода
Спасибо ещё раз - попробую. Отпишусь.
Ошибка при запуске Run-time error ' 429 ' ActiveX component can't create object
 
Цитата
ZVI написал:
проверьте, работает ли такой код
Проверил - работает на всех компах, если в чекбоксе (Tools - References - Windows Script Host Object Model) поставить птичку. Без птички не работает.
(Мой файл на моём компе работает из без этой птички)

P.S. А есть альтернатива запуска ЕХЕ помимо WshShell ? (чтобы можно было получать назад код завершения)
Ошибка при запуске Run-time error ' 429 ' ActiveX component can't create object
 
-э-э-э-э.....
Моё внимание привлекла фраза "в чистом виде перестал работать" - это значит, не только у меня "поломалось"?


З.Ы.(извините, в VBA/VBS очень слаб, не пинайте ногами)
Ошибка при запуске Run-time error ' 429 ' ActiveX component can't create object
 
Цитата
ZVI написал:
...проверьте, работает ли такой код...
спасибо за участие
- завтра попробую на том компе, где перестал работать макрос...
( на моём ноуте, что под рукой, проблема пока не всплывала, хотя у меня на ноуте птички нет на пункте "Windows Script Host Object Model"  -> макрос работает без проблем....)
Изменено: bombowoz - 25.11.2019 21:48:52 (дополнено)
Ошибка при запуске Run-time error ' 429 ' ActiveX component can't create object
 
Доброго времени суток Всем.
продолжу в этой теме....     ........ про WshShell

Год назад написал я макрос для Excel- файла с целью автоматизации деятельности своей и моих коллег. Суть макроса - запуск внешней ЕХЕ программы (самописаной) для получения от прибора данных и последующая интеграция данных в книгу Excel/
Файл с макросом работал полгода на пяти разных компьютерах (Win7, Win10, разные версии офиса...). Потом на одном компе при запуске макроса стала выскакивать ошибка 429.Всегда. Через месяц - на втором компе "поломалось"/ Ещё через два месяца перестало работать на третьем. На оставшихся двух пока работает.
Компы "корпоративные" и админятся очень издалека.... обновления ОС и офиса выполняются согласно корпоративной политике (автоматически). Пользователи сами ничего в настройках не меняли.
Текст макроса прост и процедура запуска взята копипастом на просторах интернета:
Код
Range("C20").Select
ActiveCell.FormulaR1C1 = 255
Set WshShell = CreateObject("WScript.Shell")                              <<<< на эту строку ругается дебагер и подсвечивает её жёлтым
intReturn = WshShell.Run("C:\ABC\GetData.exe X", 0, True)
Range("C20").Select
ActiveCell.FormulaR1C1 = intReturn

Основная проблема в том, что я не понимаю, почему перестало работать то, что полгода работало без проблем. Если-бы админы изменили что-то в политике безопасности, то у всех коллег одновременно перестало-бы работать. А так - через большие промежутки времени. Более того, что такого страшного в строке
Set WshShell = CreateObject("WScript.Shell"). Судя по статьям в интернете - это нечто стандартное и применяется миллионными тиражами....
Именно на ней затыкается макрос и подсвечивается она в дебагере. То есть до запуска моей программы самописаной дело не доходит.
Прочитал весь интернет :(  убил уже наверное часов сто на это. Ничего не нашёл . Всякие
Dim WshShell As Object   дописывал, ....
VBA.CreateObject не меняет ничего....
/RegServer  исполнял ....
HKEY_CLASSES_ROOT\CLSID  смотрел....
на одном компе переустановили офис (365) - не помогло;

Где косяк? Почему перестало работать и как всё починить?

Может есть другой способ запуска стороннего ЕХЕ-файла с параметрами (консольное приложение написано в CodeBlocks) и обязательным ожиданием ответного кода-завершения от него? (простой Shell не подходит)???
Страницы: 1
Наверх