Страница 1 из 1

Передача скрипта в элемент управления WebBrowser

Добавлено: 14 окт 2009, 22:36
AlexZZZ
Коллеги, доброго времени суток!
Подскажите, что сталкивался: как можно передать в элемент управления WebBrowser на форме в Excel сгенерированную строку со скриптом? Например такая конструкция

Код: Выделить всё

With WebBrowser1
    .Navigate2 "about:Blank"
    .Document.body.innerhtml = webstr
End With
работает только при передаче в браузер HTML. Переданные скрипты не исполняются. Зато, прекрасно работает закружаемая в браузер извне страничка со скриптом:

Код: Выделить всё

WebBrowser1.Navigate ThisWorkbook.Path & "\index.html"
Неужели есть только один способ: только динамически создавать её на диске и загружать в элемент вебраузер?

На всякий случай, если это важно, сообщаю, что имеется в виду javascript, строка с которым генерируется в VBA.

Re: Передача скрипта в элемент управления WebBrowser

Добавлено: 15 окт 2009, 20:38
Teslenko_EA
Здравствуйте AlexZZZ.
Ваш код "....Document.body..." заполняет текстом "webstr" тело страницы "about:Blank", о каком "выполнении" скриптов может идти речь?
Евгений.

Re: Передача скрипта в элемент управления WebBrowser

Добавлено: 15 окт 2009, 22:02
AlexZZZ
Вообще-то, я считал, что за заполнение страницы текстом отвечает innertext. А innerhtml передаёт данные для интерпретации тегов HTML. Но это в данном случае не важно, т.к. скрипт не работает в обоих случаях. Я понимаю, что надо идти другим путём. Но как сделать, чтобы скрипт работал?

Re: Передача скрипта в элемент управления WebBrowser

Добавлено: 16 окт 2009, 17:28
Teslenko_EA
Здравствуйте AlexZZZ.
"создавать её на диске и загружать..." - действительно если заполнять реально существующий файл данными из переменной "webstr" и открывать его, передавая в браузер адрес - путь его расположения на диске или в сети, J скрипт на странице выполняться будет. Возможно уже существуют "новые технологии" позволяющие обращаться к данным страницы без адреса, но я их не знаю. :(
Евгений.

Re: Передача скрипта в элемент управления WebBrowser

Добавлено: 16 окт 2009, 17:51
AlexZZZ
Евгений, спасибо за ответ. Я так и предполагал: создавать на диске пустой текстовый файл с расширением html, заполнять его сгенерированным скриптом и передавать полный путь этого файла в браузер. Но данное решение показалось мне не очень красивым и не очень надёжным. Ну, если другого решения нет, будем довольствоваться этим.