Невозможно загрузить shdocvw.dll или ieframe.dll в Blue Prism

Я пытаюсь использовать этап кода для создания и использования COM-объекта Internet Explorer в синей призме, например:

Dim ie as InternetExplorer
ie = new InternetExplorer

Но когда я попытался добавить внешнюю ссылку на .dll, я получил ошибку «Невозможно загрузить справочную библиотеку». Я пробовал и "shdocvw.dll", и "ieframe.dll", и то и другое не удалось. Кто-нибудь может мне подсказать?

настройка внешних ссылок

Сообщение об ошибке

Другая мысль заключается в том, что когда мы создаем бизнес-объект на основе браузера (IE), Blue Prism должна была создать внутренний объект IE. Если мы сможем взаимодействовать с этим объектом на этапе кода, это тоже сработает. Вот подсказка к внутреннему объекту IE:

Намеренно вводить недопустимый код javascript

mshtml.ihtmlwindow2 в сообщении об ошибке


person william    schedule 31.10.2018    source источник


Ответы (2)


Самое простое решение - вообще не использовать библиотеки DLL и воспользоваться преимуществом метода CreateObject Visual Basic. У него есть некоторые недостатки, но он подходит для большинства вещей.

Dim ie as Object = CreateObject("InternetExplorer.Application")

введите описание изображения здесь

Очевидно GetObject не работает с IE по соображениям безопасности, поэтому, если вы хотите взаимодействовать с существующим экземпляром IE, возможно, вам понадобится немного больше творчества.

person Marek Stejskal    schedule 01.11.2018
comment
Привет, Марек, спасибо за ответ. Я сделал это на VBA. На самом деле моя работа в моем текущем проекте заключается в создании макроса Excel и запуске макроса из Blue Prism. Мне просто интересно, можно ли это сделать в Голубой призме. Моя цель - обрабатывать события IE с помощью Dim WithEvents IE As InternetExplorer. - person william; 01.11.2018

Для внешней ссылки .dll файл .dll должен быть предварительно установлен в папке Blue Prism.

C:\Program Files\Blue Prism Limited\Blue Prism Automate

Импортируйте .dll с абсолютным путем и пространствами имен, требующимися из файла .dll. Точно так же вы можете создавать собственные VBO в соответствии с вашими требованиями.

ПРИМЕЧАНИЕ. Это может вызвать ошибки при развертывании решения в другой среде. Решение будет зависеть от ссылки .dll, если она не найдена, произойдет сбой кода / BOT.

person Vijay Dodamani    schedule 02.11.2018
comment
Привет, Виджей, спасибо за ответ. Я пробовал, но, к сожалению, безуспешно, та же системная ошибка, что и описанная выше. Может быть, это потому, что я использовал неправильный тип .dll? Я скопировал c: \ windows \ sysWOW64 \ ieframe.dll, который показан в справочном списке Excel VBA для Microsoft Internet Control. - person william; 02.11.2018
comment
Привет Уильям! Скопируйте из папки C: \ Windows \ System32. Я надеюсь это должно сработать - person Vijay Dodamani; 02.11.2018