powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Q: работа IE "под контролем" MS Access?
5 сообщений из 5, страница 1 из 1
Q: работа IE "под контролем" MS Access?
    #32746279
Иван FXS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Возможно, это будет повтор ... но тем не менее.

Кто-нибудь пробовал делать subj? То есть:
1. создаем класс и в нем
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
Public WithEvents IE As SHDocVw.InternetExplorer
....
 'и описываем ВСЕ события объекта IE: 
Private Sub IE_BeforeNavigate2(ByVal pDisp As Object, URL, Flags, TargetFrameName, PostData, Headers, Cancel As Boolean)
Private Sub IE_ClientToHostWindow(CX As Long, CY As Long)
Private Sub IE_CommandStateChange(ByVal Command As Long, ByVal Enable As Boolean)
Private Sub IE_DocumentComplete(ByVal pDisp As Object, URL As Variant)
Private Sub IE_DownloadBegin()
Private Sub IE_DownloadComplete()
Private Sub IE_FileDownload(Cancel As Boolean)
Private Sub IE_NavigateComplete2(ByVal pDisp As Object, URL)
Private Sub IE_NavigateError(ByVal pDisp As Object, URL, Frame, StatusCode, Cancel As Boolean)
Private Sub IE_NewWindow2(ppDisp As Object, Cancel As Boolean)
Private Sub IE_OnFullScreen(ByVal FullScreen As Boolean)
Private Sub IE_OnMenuBar(ByVal MenuBar As Boolean)
Private Sub IE_OnQuit()
Private Sub IE_OnStatusBar(ByVal StatusBar As Boolean)
Private Sub IE_OnTheaterMode(ByVal TheaterMode As Boolean)
Private Sub IE_OnToolBar(ByVal ToolBar As Boolean)
Private Sub IE_OnVisible(ByVal Visible As Boolean)
Private Sub IE_PrintTemplateInstantiation(ByVal pDisp As Object)
Private Sub IE_PrintTemplateTeardown(ByVal pDisp As Object)
Private Sub IE_PrivacyImpactedStateChange(ByVal bImpacted As Boolean)
Private Sub IE_ProgressChange(ByVal Progress As Long, ByVal ProgressMax As Long)
Private Sub IE_PropertyChange(ByVal szProperty As String)
Private Sub IE_SetSecureLockIcon(ByVal SecureLockIcon As Long)
Private Sub IE_StatusTextChange(ByVal Text As String)
Private Sub IE_TitleChange(ByVal Text As String)
Private Sub IE_UpdatePageStatus(ByVal pDisp As Object, nPage, fDone)
Private Sub IE_WindowClosing(ByVal IsChildWindow As Boolean, Cancel As Boolean)
Private Sub IE_WindowSetHeight(ByVal Height As Long)
Private Sub IE_WindowSetLeft(ByVal Left As Long)
Private Sub IE_WindowSetResizable(ByVal Resizable As Boolean)
Private Sub IE_WindowSetTop(ByVal Top As Long)
Private Sub IE_WindowSetWidth(ByVal Width As Long)
2. в модуле делаем:
Код: plaintext
1.
2.
3.
4.
5.
myIE.IE.Visible = True
myIE.Navigate_HTMLDocument "ya.ru"

Do: DoEvents
Loop
3. идем в окно Эксплорера и начинаем делать свой обычный серфинг ... а MS Access отслеживает все, что происходит, - через события объекта IE и ... помогает нам как-то ... в соответствии с той "бизнес логикой", которую мы понастроили в MS Access.
_____________________________
Делал ли кто-нибудь так?
Если да, то - какие плюсы, минусы, подводные камни и хитости встретились??
...
Рейтинг: 0 / 0
Q: работа IE "под контролем" MS Access?
    #32746397
marvan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
делал, но события ловил не от SHDocVw, а от HTMLDocument (т.к. возможности последнего позволяют по полной насладиться DHTML)
подводный камнь -> Access серьёзно тормозит работу WebBrowser Control, потому и перевёл интерфейс на VB
...
Рейтинг: 0 / 0
Q: работа IE "под контролем" MS Access?
    #32746672
Иван FXS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, это интересно. Только ... что-то у меня не получается: написал в классе
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
Public WithEvents Doc As MSHTML.HTMLDocument
    
Private Sub Doc_onhelp()
Stop
End Sub
    
Private Sub Doc_ondblclick()
Stop
End Sub
- ругается на оба Sub'а, дескать
Код: plaintext
Procedure declaration does not match description of event or procedure having the same name
:-(
С SHDocVw.InternetExplorer такая бяка тоже выскакивала, но - лечилась указанием byVal перед параметрами ... а здесь - и параметров-то нет никаких!!!

Не подскажите, - в чем засада?
...
Рейтинг: 0 / 0
Q: работа IE "под контролем" MS Access?
    #32747741
marvan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
\'References: Microsoft HTML Object Library\'Components: Microsoft Internet Controls\'На форме WebBrowser1Dim WithEvents mDoc As MSHTML.HTMLDocumentDim WithEvents mImg As MSHTML.HTMLImgPrivate Sub Form_Load()    Dim mStr As String    WebBrowser1.Navigate "about:<img id=num1 src=""http://www.google.ru/images/hp0.gif"">"    While WebBrowser1.Document Is Nothing        DoEvents    Wend    Set mDoc = WebBrowser1.Document    While mImg Is Nothing    \'присваивем mImg - дабы ловить события конкретно от него        DoEvents        Set mImg = mDoc.getElementById("num1")    WendEnd Sub\'это превый способ перехвата событийPrivate Sub mDoc_onmousedown()    \'здесь мы ловим все события, и определяем элемент для которого оно произошло    Dim objElement As MSHTML.IHTMLElement    Set objElement = mDoc.parentWindow.event.srcElement    If objElement.Id = "num1" Then MsgBox ("mDoc_onmousedown")End Sub\'это второй способ перехвата событийPrivate Sub mImg_onmousedown()    \'событие mImg    MsgBox ("mImg_onmousedown")End Sub
Как отформатирован этот код?
...
Рейтинг: 0 / 0
Q: работа IE "под контролем" MS Access?
    #32748004
Иван FXS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Моя проблема БЫЛА в том, что "интерфейсы событий" мне приходилось реконструировать по описаниям их в Object Brouser редактора VBA-кода.

Вылезала диагностика:
"Procedure declaration does not match description of event or procedure having the same name".

Для IE As SHDocVw.InternetExplorer я угадал, что нужно добавлять ByVal, а для Doc As MSHTML.HTMLDocument - это никак не помогало ...

А сегодня я обнаружил, что интерфейсы событий можно просто ВЫБИРАТЬ при помощи окошек в верхней части окна редактора кода. Как грится - век живи, век учись!

А за Ваши подсказки - и про MSHTML.HTMLDocument, и про MSHTML.HTMLImg - огромное спасибо !
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Q: работа IE "под контролем" MS Access?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]