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

Весь MS Office, программирование на Visual Basic for Applications и MS VB

Модератор: Naeel Maqsudov

Ответить
Аватара пользователя
AlexZZZ
Сообщения: 237
Зарегистрирован: 01 июн 2007, 00:27
Откуда: Москва и область

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

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

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

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

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

На всякий случай, если это важно, сообщаю, что имеется в виду javascript, строка с которым генерируется в VBA.
Teslenko_EA
Сообщения: 526
Зарегистрирован: 04 фев 2007, 18:37
Откуда: Сургут
Контактная информация:

Здравствуйте AlexZZZ.
Ваш код "....Document.body..." заполняет текстом "webstr" тело страницы "about:Blank", о каком "выполнении" скриптов может идти речь?
Евгений.
Аватара пользователя
AlexZZZ
Сообщения: 237
Зарегистрирован: 01 июн 2007, 00:27
Откуда: Москва и область

Вообще-то, я считал, что за заполнение страницы текстом отвечает innertext. А innerhtml передаёт данные для интерпретации тегов HTML. Но это в данном случае не важно, т.к. скрипт не работает в обоих случаях. Я понимаю, что надо идти другим путём. Но как сделать, чтобы скрипт работал?
Teslenko_EA
Сообщения: 526
Зарегистрирован: 04 фев 2007, 18:37
Откуда: Сургут
Контактная информация:

Здравствуйте AlexZZZ.
"создавать её на диске и загружать..." - действительно если заполнять реально существующий файл данными из переменной "webstr" и открывать его, передавая в браузер адрес - путь его расположения на диске или в сети, J скрипт на странице выполняться будет. Возможно уже существуют "новые технологии" позволяющие обращаться к данным страницы без адреса, но я их не знаю. :(
Евгений.
Аватара пользователя
AlexZZZ
Сообщения: 237
Зарегистрирован: 01 июн 2007, 00:27
Откуда: Москва и область

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