Как набрать приведение webbrowsercontrolobj.document к mshtml.HTMLDocument VB6?или Как отправить форму, загруженную в элемент управления webbrowser в vb6? - PullRequest
0 голосов
/ 16 декабря 2011

Здравствуйте, я пишу код только на VB6 (без VB.NET)

У меня есть объект webbrowsercontrol с именем webbrowser1 Я добавил ссылку на библиотека объектов Microsoft HTML в проекте.

Я пытаюсь эту строку, но выдает ошибку.

Dim doc as MSHTML.HTMLDocument
doc = DirectCast(webbrowser1.document, MSHTML.HTMLDocument)

строка 2 выдает ошибку, что не найден метод или данные в MSHTML.HTMLDocument. Пожалуйста, помогите мне решить эту проблему.

Я хочу, чтобы у меня была одна веб-страница с двумя (html-формами).Я загружаю эту страницу в элемент управления webbrowser,

webbrowser1.navigate "url"

Я сопоставил событие для обработки нажатия кнопки html в документе webbrowser1. Когда пользователь нажимает на эту кнопку, я хочу отправить вторую форму HTML-страницы.Есть ли другой способ сделать это?

Я также попробовал следующий код

'this line is working properly
'this is the code to submit first form in html page
webbrowser1.document.Forms(0).submit     

, но когда я делаю

'this line is giving error though there are 2 forms available in html page
webbrowser1.document.Forms(1).submit

Итак, конечная цель состоит в том, чтобыотправить вторую форму HTML-документа.Пожалуйста, покажите мне правильное направление.

Ответы [ 2 ]

1 голос
/ 10 февраля 2012

Вам нужно изменить Dim doc как MSHTML.HTMLDocument на Dim doc как MSHTML.IHTMLDocument.

Обратите внимание, что в начале IHTMLDocument имеет I, затем попытайтесь отправить форму.

Кроме того, в VB6 нет такой вещи, как DirectCast - это только VB.NET.

Так что просто сделайте это:

Dim doc as MSHTML.IHTMLDocument

Set doc = webbrowser1.document

Теперь вы получите intellisense на doc.:)

Дайте мне знать, как это происходит.

0 голосов
/ 16 декабря 2011

Вы пробовали только прямое назначение?

Dim doc as MSHTML.HTMLDocument 
Set doc = webbrowser1.document

VB6 на самом деле не выполняет приведение, но вы можете получить доступ к любому методу (с ранним ограничением), назначив его переменной требуемого типа или (с поздним ограничением), используя вслепую переменную типа Object.

...