|
|
|
VBA & HTML. Помогите получить ссылку к форме.
|
|||
|---|---|---|---|
|
#18+
Подскажите, что делаю не так. Сканирую HTML Document этой програмкой. ищу на нем все формы. Перебираю рекурсивно фреймы. Ну никак не нахжу нужную мне форму с полями... Нужно добраться до всех "инпут" и передавать им мои значения из ВБА. Подскажите, кто чем может. Public Sub HDocAnaliz(HDoc As HTMLDocument, OffSet As String) Dim HDoc1 As HTMLDocument Dim HFrm As HTMLFormElement, HEl As IHTMLInputElement, HFEl As IHTMLFormElement ' IHTMLElement Dim HElCol As IHTMLElementCollection On Error Resume Next Debug.Print OffSet; "BEGIN ======================" Debug.Print OffSet; "Frames"; HDoc.frames.Length; " Forms"; HDoc.forms.Length Debug.Print "URL "; HDoc.URL Debug.Print "Title "; HDoc.Title On Error Resume Next Set HElCol = HDoc.all.tags("input") For Each HEl In HElCol Debug.Print HEl.Name Debug.Print HEl.form Debug.Print HEl.Type Debug.Print HEl.Value 'Next HEl On Error GoTo NoFrame For i = 0 To HDoc.frames.Length - 1 Debug.Print OffSet; "frame="; i; " " Debug.Print OffSet; "frame="; HDoc.frames(i).Name; " " Set HDoc1 = HDoc.frames.Item(i).document On Error Resume Next Call HDocAnaliz(HDoc1, OffSet & "-") Set HDoc1 = Nothing Next i NoFrame: On Error Resume Next For Each HFrm In HDoc.forms For Each HEl In HFrm.elements Debug.Print OffSet; "Form"; " "; HFrm.Name; " "; HEl.Name; " "; HEl.Title; " = "; HEl.Value Next HEl Next HFrm 'For i = 0 To HDoc.all.Length ' Debug.Print HDoc.all.Item(i).tagName ' Debug.Print HDoc.all.Item(i).Name ' Debug.Print HDoc.all.Item(i).Value 'Next i Debug.Print OffSet; "END ======================" End Sub ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.04.2007, 19:57 |
|
||
|
VBA & HTML. Помогите получить ссылку к форме.
|
|||
|---|---|---|---|
|
#18+
Дай ссылку что ли, которую колбасишь... В процедуре криминала вроде нет. Как, кстати, и форматирования. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2007, 10:08 |
|
||
|
VBA & HTML. Помогите получить ссылку к форме.
|
|||
|---|---|---|---|
|
#18+
К сожалению страница запоролена. И построена со множеством фреймов. Ее даже сохранить нельзя толком. Могу выслать HTML-код этих фреймов. Это поможет? В нем есть нужная мне форма. Но незнаю как до нее добраться... Я толком даже не знаю, где могут находится формы, могут ли контролы существовать вне форм. Какие есть способы обращения к этим контролами... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2007, 11:00 |
|
||
|
VBA & HTML. Помогите получить ссылку к форме.
|
|||
|---|---|---|---|
|
#18+
HTML-код не надо. Лучше поищи в инете страницы с фреймами и инпутами, будем их смотреть. А для начала попробуй Set HElCol = HDoc.getElementsByTagName("input") вместо Set HElCol = HDoc.all.tags("input") ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2007, 11:06 |
|
||
|
VBA & HTML. Помогите получить ссылку к форме.
|
|||
|---|---|---|---|
|
#18+
Я уже пробывал и так и сяк. Код вооще вроде как в нужный фркйм не заходит. И формы соответствено не видит. С другими страничками с фреймами вроде получается. А с этой - ну никак. Остается только искать еще какую нибудь страничку с которой мой код не работает... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2007, 14:15 |
|
||
|
VBA & HTML. Помогите получить ссылку к форме.
|
|||
|---|---|---|---|
|
#18+
Скачал програмку - IEWebDeveloperV2.exe. Она просматривает объекты HTML документа. Действительно, в один фрейм - не заходит. Говорит, что он имеет значение нулл или это не объект. Может кто нибудь знает как это могло получиться и как этот момент можно обойти? Робоформ все таки нужные поля видит! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2007, 22:17 |
|
||
|
VBA & HTML. Помогите получить ссылку к форме.
|
|||
|---|---|---|---|
|
#18+
Может src этого фрейма ведет на другой сайт? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2007, 14:45 |
|
||
|
VBA & HTML. Помогите получить ссылку к форме.
|
|||
|---|---|---|---|
|
#18+
Нашол в чем именно проблема. Вот страничка. Объявлено 2 фрейма. Второй разбит еще на 2. Нужно правильно научиться перебирать эти фреймы. ============================== <html> <head> <title>GSPN - UA10_PF_MOCHNA/Ukraine</title> </head> <!-- PKL //--> <frameset name="FR_Perent" rows="50,*"> <frame src="file://D:\Report\B2B\B_myinfo.gif" name="FR_Top"> <frameset name="FR_Ch" cols="40%,*"> <frame src="http://www.mail.ru" name="FR_L"> <frame src="http://www.mail.ru" name="FR_R"> </frameset> </frameset> </html> ============================= В моей процедуре что-то нетак... ============================= Public Sub F1() Dim objShell As New Shell32.Shell Dim objBrowser As SHDocVw.WebBrowser Dim objHTMLDocument As MSHTML.HTMLDocument Dim sURL As String For Each objBrowser In objShell.Windows If StrComp(Right(objBrowser.FullName, 12), "iexplore.exe", vbTextCompare) = 0 Then If TypeName(objBrowser.document) = "HTMLDocument" Then Set objHTMLDocument = objBrowser.document Debug.Print objHTMLDocument.Title, objHTMLDocument.URL sURL = "file://D:\Report\B2B\EP_Default1.html" 'sURL = "http://cis.samsungportal.com/EP/web/portal/jsp/EP_Default1.jsp" 'sURL = "http://cisgspn.samsungportal.com/GSPN/gspn/service/SVCCreateCall.jsp?pgmId=SVCCall" If objHTMLDocument.URL = sURL Then Set HDoc = objHTMLDocument Exit For End If End If End If Next Call HDocAn1(HDoc, "-") End Sub '------------------------------- Public Sub HDocAn1(HDoc As IHTMLDocument2, OffSet As String) Dim i 'On Error Resume Next Debug.Print OffSet; "BEGIN ===" Debug.Print OffSet; "URL "; HDoc.URL Debug.Print OffSet; "Title "; HDoc.Title Debug.Print OffSet; "Frames"; HDoc.frames.Length; " Forms"; HDoc.forms.Length On Error GoTo NoFrame For i = 0 To HDoc.frames.Length - 1 Debug.Print OffSet; "frame="; i Debug.Print OffSet; "frameName="; HDoc.frames(i).Name Call HDocAn1(HDoc.frames(i).document, OffSet & "-") Next i NoFrame: Debug.Print OffSet; "END ===" End Sub ============================= ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2007, 16:59 |
|
||
|
|

start [/forum/topic.php?fid=60&gotonew=1&tid=2164239]: |
0ms |
get settings: |
9ms |
get forum list: |
21ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
179ms |
get topic data: |
8ms |
get first new msg: |
4ms |
get forum data: |
2ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
| others: | 227ms |
| total: | 500ms |

| 0 / 0 |
