• Vui lòng đọc nội qui diễn đàn để tránh bị xóa bài viết
  • Tìm kiếm trước khi đặt câu hỏi

Thủ thuật với WebBrowser

Các bài viết hướng dẫn, giúp các bạn hiểu và tiếp cận với Visual Basic nhanh hơn
dactung93
Thành viên tâm huyết
Thành viên tâm huyết
Bài viết: 496
Ngày tham gia: T.Ba 04/11/2008 8:43 am
Has thanked: 6 time
Been thanked: 8 time

Thủ thuật với WebBrowser

Gửi bàigửi bởi dactung93 » T.Bảy 01/01/2011 8:11 am

Tên bài viết: Thủ thuật với WebBrowser
Tác giả: dactung93
Cấp độ bài viết: Chưa đánh giá
Tóm tắt: Hôm nay ngày 01/01/2011 mình xin mạn phép viết bài này với mục đích giúp các bạn có thể hiểu rõ hơn về các sử dụng công cụ Webbrowser này


Các thủ thuật giới thiệu trong bài này
1, Mở 1 site
  1. WebBrowser1.Navigate "www.google.com"
  2.  

2, Sử dụng 1 form để làm popup windows ( khi click vào 1 link sang cửa sổ mới )
  1. Private Sub WebBrowser1_NewWindow2(ppDisp As Object, Cancel As Boolean)
  2. Dim frm As Form1
  3. Set frm = New Form1
  4. Set ppDisp = frm.WebBrowser1.Object
  5. frm.Show
  6. End Sub
  7.  

3, Tìm kiếm chuỗi
  1. Private Sub Command1_Click()
  2.     Dim strfindword As String
  3.         strfindword = InputBox("What are you looking for?", "Find", "") ' what word to find?
  4.            If WebPageContains(strfindword) = True Then 'check if the word is in page
  5.                MsgBox "The webpage contains the text" 'string is in page
  6.            Else
  7.                 MsgBox "The webpage doesn't contains the text" 'string is not in page
  8.            End If
  9. End Sub
  10. Private Function WebPageContains(ByVal s As String) As Boolean
  11.     Dim i As Long, EHTML
  12.     For i = 1 To WebBrowser1.Document.All.length
  13.         Set EHTML = _
  14.         WebBrowser1.Document.All.Item(i)
  15.  
  16.  
  17.         If Not (EHTML Is Nothing) Then
  18.             If InStr(1, EHTML.innerHTML, _
  19.             s, vbTextCompare) > 0 Then
  20.             WebPageContains = True
  21.             Exit Function
  22.         End If
  23.     End If
  24. Next i
  25. End Function
  26. Private Sub Form_Load()
  27.     WebBrowser1.Navigate2 "www.msn.com"
  28. End Sub
  29.  

4, Viết mã HTML và hiển thị ngay trên WB
  1. Private Sub Form_Load()
  2.     WebBrowser1.Navigate "about:blank"
  3. End Sub
  4.  
  5. Private Sub Command1_Click()
  6.     Dim HTML As String
  7.         '----------The HTML CODE GOES FROM HERE AND DOWN----------
  8.    HTML = "<HTML>" & _
  9.             "<TITLE>Page On Load</TITLE>" & _
  10.             "<BODY>" & _
  11.             "<FONT COLOR = BLUE>" & _
  12.             "This is a " & _
  13.             "<FONT SIZE = 5>" & _
  14.             "<B>" & _
  15.             "programmatically " & _
  16.             "</B>" & _
  17.             "</FONT SIZE>" & _
  18.             "made page" & _
  19.             "</FONT>" & _
  20.             "</BODY>" & _
  21.             "</HTML>"
  22.             '----------The HTML CODE GOES HERE AND ABOVE----------
  23.    WebBrowser1.Document.Write HTML
  24. End Sub
  25.  

5, Một số hàm thông thường
  1. Private Sub Command1_Click(Index As Integer)
  2. On Error Resume Next ' just in case there is no page back or forward
  3.                    'I showed how to disabel them if you scroll down more
  4.    Select Case Index
  5.         Case 0 'Go Back Button
  6.            WebBrowser1.GoBack 'Go Back one Page
  7.        Case 1 'Go Forward Button
  8.            WebBrowser1.GoForward 'Go Forward one Page
  9.        Case 2 'Stop Button
  10.            WebBrowser1.Stop 'stop page
  11.        Case 3 'Refresh Button
  12.            WebBrowser1.Refresh 'refresh page
  13.        Case 4 'Go Home Button
  14.            WebBrowser1.GoHome 'Go to home page
  15.        Case 5 'Search Button
  16.            WebBrowser1.GoSearch 'Search
  17.    End Select
  18. End Sub
  19.  

6, Một số hàm nâng cao
  1. Private Sub Command1_Click() 'Print Button
  2.    WebBrowser1.ExecWB OLECMDID_PRINT, OLECMDEXECOPT_DODEFAULT 'Show Print Window
  3. End Sub
  4. Private Sub Command2_Click() 'Print Preview Button
  5.    WebBrowser1.ExecWB OLECMDID_PRINTPREVIEW, OLECMDEXECOPT_DODEFAULT 'Show Print Preview Window
  6. End Sub
  7. Private Sub Command3_Click() 'Page Setup Button
  8.    WebBrowser1.ExecWB OLECMDID_PAGESETUP, OLECMDEXECOPT_DODEFAULT 'Show Page Setup Window
  9. End Sub
  10. Private Sub Command4_Click() 'Page Properties Button
  11.    WebBrowser1.ExecWB OLECMDID_PROPERTIES, OLECMDEXECOPT_DODEFAULT 'Show Page Properties Window
  12. End Sub
  13. Private Sub Form_Load()
  14.     WebBrowser1.Navigate "www.google.com"
  15. End Sub
  16.  


7, Thay đổi size hiển thị trên trình duyệt
  1. Private Sub Command1_Click() ' Smallest Button
  2. On Error Resume Next
  3.     WebBrowser1.ExecWB OLECMDID_ZOOM, OLECMDEXECOPT_DONTPROMPTUSER, CLng(0), vbNull
  4. End Sub
  5. Private Sub Command2_Click() 'Small Button
  6. On Error Resume Next
  7.     WebBrowser1.ExecWB OLECMDID_ZOOM, OLECMDEXECOPT_DONTPROMPTUSER, CLng(1), vbNull
  8. End Sub
  9. Private Sub Command3_Click() 'Medium Button
  10. On Error Resume Next
  11.     WebBrowser1.ExecWB OLECMDID_ZOOM, OLECMDEXECOPT_DONTPROMPTUSER, CLng(2), vbNull
  12. End Sub
  13. Private Sub Command4_Click() 'Large Button
  14. On Error Resume Next
  15.     WebBrowser1.ExecWB OLECMDID_ZOOM, OLECMDEXECOPT_DONTPROMPTUSER, CLng(3), vbNull
  16. End Sub
  17. Private Sub Command5_Click() 'Largest Button
  18. On Error Resume Next
  19.     WebBrowser1.ExecWB OLECMDID_ZOOM, OLECMDEXECOPT_DONTPROMPTUSER, CLng(4), vbNull
  20. End Sub
  21. Private Sub Form_Load()
  22.     WebBrowser1.Navigate2 "www.google.com"
  23. End Sub
  24.  


8, Tự động enable/ Disable nút Back và Forward
  1. Private Sub Command1_Click() 'Go Back Button
  2.    WebBrowser1.GoBack 'Go Back
  3. End Sub
  4. Private Sub Command2_Click() 'Go Forward Button
  5.    WebBrowser1.GoForward 'Go Forward
  6. End Sub
  7. Private Sub Form_Load()
  8.     WebBrowser1.Navigate "www.google.com"
  9. End Sub
  10. Private Sub WebBrowser1_CommandStateChange(ByVal Command As Long, ByVal Enable As Boolean)
  11.     Select Case Command
  12.         Case 1 'Forward
  13.            Command2.Enabled = Enable
  14.         Case 2 'Back
  15.            Command1.Enabled = Enable
  16.     End Select
  17. End Sub
  18.  

9, page setup/print preview/print setup
  1. Private Sub Command1_Click() 'Print Button
  2.    WebBrowser1.ExecWB OLECMDID_PRINT, OLECMDEXECOPT_DODEFAULT 'Show Print Window
  3. End Sub
  4. Private Sub Command2_Click() 'Print Preview Button
  5.    WebBrowser1.ExecWB OLECMDID_PRINTPREVIEW, OLECMDEXECOPT_DODEFAULT 'Show Print Preview Window
  6. End Sub
  7. Private Sub Command3_Click() 'Page Setup Button
  8.    WebBrowser1.ExecWB OLECMDID_PAGESETUP, OLECMDEXECOPT_DODEFAULT 'Show Page Setup Window
  9. End Sub
  10. Private Sub Form_Load()
  11.     WebBrowser1.Navigate "www.google.com"
  12. End Sub
  13. Public Function Enable_or_Disable()
  14.     If WebBrowser1.QueryStatusWB(OLECMDID_PRINT) = 0 Then
  15.         Command1.Enabled = False
  16.     Else
  17.         Command1.Enabled = True
  18.     End If
  19.     If WebBrowser1.QueryStatusWB(OLECMDID_PRINTPREVIEW) = 0 Then
  20.         Command2.Enabled = False
  21.     Else
  22.         Command2.Enabled = True
  23.     End If
  24.  
  25.     If WebBrowser1.QueryStatusWB(OLECMDID_PAGESETUP) = 0 Then
  26.         Command3.Enabled = False
  27.     Else
  28.         Command3.Enabled = True
  29.     End If
  30. End Function
  31. Private Sub WebBrowser1_BeforeNavigate2 _
  32.                     (ByVal pDisp As Object, _
  33.                                 URL As Variant, _
  34.                                 Flags As Variant, _
  35.                         TargetFrameName As Variant, _
  36.                                 PostData As Variant, _
  37.                                     Headers As Variant, _
  38.                                         Cancel As Boolean)
  39.     Enable_or_Disable
  40. End Sub
  41. Private Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, URL As Variant)
  42.     Enable_or_Disable
  43. End Sub
  44.  

10, Không cho click cuột phải
  1. Option Explicit
  2.     Dim CustomWB As WBCustomizer 'Deceler the CustomWB
  3. Private Sub Form_Load()
  4.    Set CustomWB = New WBCustomizer
  5.    With CustomWB
  6.       .EnableContextMenus = False 'Disable The Menu
  7.      .EnableAllAccelerators = True
  8.      
  9.       Set .WebBrowser = WebBrowser1
  10.    End With
  11.     WebBrowser1.Navigate "www.google.com"
  12.         CustomWB.EnableContextMenus = False
  13. End Sub
  14.  

11, Lấy tất cả link trên web browse
  1. Option Explicit
  2. Private Sub Form_Load()
  3.     WebBrowser1.Navigate "www.vbforums.com"
  4. End Sub
  5. Private Sub WebBrowser1_DownloadComplete()
  6.     'you must add the "Microsoft HTML Object Library"!!!!!!!!!
  7.    Dim HTMLdoc As HTMLDocument
  8.         Dim HTMLlinks As HTMLAnchorElement
  9.             Dim STRtxt As String
  10.     ' List the links.
  11.    On Error Resume Next
  12.         Set HTMLdoc = WebBrowser1.Document
  13.             For Each HTMLlinks In HTMLdoc.links
  14.                 STRtxt = STRtxt & HTMLlinks.href & vbCrLf
  15.             Next HTMLlinks
  16.         Text1.Text = STRtxt
  17. End Sub
  18.  


Hoặc

  1. Open "C:\Documents and Settings\[YOU USERNAME]\Desktop\link log.txt" For Append As #1
  2. Print #1, STRtxt
  3. Close #1
  4.  

12, Lưu trang
  1. Option Explicit
  2. Private Sub Command1_Click()
  3. WebBrowser1.ExecWB OLECMDID_SAVEAS, OLECMDEXECOPT_DODEFAULT
  4. End Sub
  5. Private Sub Form_Load()
  6. WebBrowser1.Navigate2 "www.google.com"
  7. End Sub
  8.  

13, Mở trang
  1. Private Sub Command2_Click()
  2.     WebBrowser1.ExecWB OLECMDID_OPEN, OLECMDEXECOPT_PROMPTUSER
  3. End Sub
  4.  


Hoặc

  1. Option Explicit
  2. Private Sub Command1_Click()
  3. On Error Resume Next
  4.     With CommonDialog1
  5.         .DialogTitle = "Open File"
  6.         .Filter = "Web page (*.htm;*.html) | *.htm;*.html|" & _
  7.         "All Supported Picture formats|*.gif;*.tif;*.pcd;*.jpg;*.wmf;" & _
  8.         "*.tga;*.jpeg;*.ras;*.png;*.eps;*.bmp;*.pcx|" & _
  9.         "Text formats (*.txt;*.doc)|*.txt;*.doc|" & _
  10.         "All files (*.*)|*.*|"
  11.         .ShowOpen
  12.         .Flags = 5
  13.     WebBrowser1.Navigate2 .FileName
  14.     End With
  15. End Sub
  16. Private Sub Form_Load()
  17.     WebBrowser1.Navigate2 "www.google.com"
  18. End Sub
  19.  


14, Gửi một from

  1. Private Sub Command1_Click()
  2. Dim strwebsite As String
  3.     Dim stremail As String
  4.         strwebsite = "http://www.mysite.com"
  5.             stremail = "myemail@host.com"
  6. WebBrowser1.Document.addurl.URL.Value = strwebsite
  7.     WebBrowser1.Document.addurl.Email.Value = stremail
  8.         WebBrowser1.Document.addurl.Submit
  9. End Sub
  10. Private Sub Form_Load()
  11.     WebBrowser1.Navigate "http://www.scrubtheweb.com/addurl.html"
  12. End Sub
  13.  

15, Sử dụng ProgressBar
  1. Private Sub Form_Load()
  2.     WebBrowser1.Navigate "www.msn.com"
  3.     ProgressBar1.Appearance = ccFlat
  4.     ProgressBar1.Scrolling = ccScrollingSmooth
  5. End Sub
  6.  
  7. Private Sub WebBrowser1_ProgressChange(ByVal Progress As Long, ByVal ProgressMax As Long)
  8. On Error Resume Next
  9.     If Progress = -1 Then ProgressBar1.Value = 100
  10.         Me.Caption = "100%"
  11.     If Progress > 0 And ProgressMax > 0 Then
  12.         ProgressBar1.Value = Progress * 100 / ProgressMax
  13.         Me.Caption = Int(Progress * 100 / ProgressMax) & "%"
  14.     End If
  15.     Exit Sub
  16. End Sub
  17.  


16, Focus vào 1 control trong webbrowse
  1. Private Sub Command1_Click()
  2.     WebBrowser1.Document.All("q").focus 'Set the search text filed in focus
  3. End Sub
  4.  
  5. Private Sub Command2_Click()
  6.     WebBrowser1.Document.All("btnI").focus 'Set the google "I Am feeling lucky in focus button"
  7. End Sub
  8.  
  9. Private Sub Form_Load()
  10.     WebBrowser1.Navigate "http://www.google.com/"
  11. End Sub
  12.  


Hoặc

  1. WebBrowser1.Document.getElementById("Object's Name").Focus
  2.  


17, Checkbox và cách điều khiển
  1. Private Sub Form_Load()
  2. WebBrowser1.Navigate "https://www.google.com/accounts/ManageAccount"
  3. End Sub
  4. Private Sub Check1_Click()
  5.     If Check1.Value = 0 Then
  6.         WebBrowser1.Document.All.PersistentCookie.Checked = False 'unchecked
  7.    Else
  8.         WebBrowser1.Document.All.PersistentCookie.Checked = True 'checked
  9.    End If
  10. End Sub
  11.  


Hoặc
  1. Private Sub Form_Load()
  2. WebBrowser1.Navigate "https://www.google.com/accounts/ManageAccount"
  3. End Sub
  4. Private Sub Check1_Click()
  5.     If Check1.Value = 0 Then
  6.         WebBrowser1.Document.All.PersistentCookie.Checked = 0 'unchecked
  7.    Else
  8.         WebBrowser1.Document.All.PersistentCookie.Checked = 1 'checked
  9.    End If
  10. End Sub
  11.  


hoặc

  1. Private Sub Form_Load()
  2. WebBrowser1.Navigate "https://www.google.com/accounts/ManageAccount"
  3. End Sub
  4. Private Sub Check1_Click()
  5.     If Check1.Value = 0 Then
  6.         WebBrowser1.Document.getElementById("PersistentCookie").Checked = False 'unchecked
  7.    Else
  8.         WebBrowser1.Document.getElementById("PersistentCookie").Checked = True 'checked
  9.    End If
  10. End Sub
  11.  


18, Tự làm popupmenu cho webbrowse
  1. 'Must Add Microsoft HTML Object Library
  2. Option Explicit
  3.     Public WithEvents HTML As HTMLDocument
  4.  
  5. Private Function HTML_oncontextmenu() As Boolean
  6.    HTML_oncontextmenu = False
  7.    PopupMenu mnu '<---Check the mnu to your own menu name
  8. End Function
  9.  
  10. Private Sub Form_Load()
  11.     WebBrowser1.Navigate "www.google.com"
  12. End Sub
  13.  
  14. Private Sub Form_Unload(Cancel As Integer)
  15.    Set HTML = Nothing
  16. End Sub
  17. Private Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, _
  18.                                                  URL As Variant)
  19.    Set HTML = WebBrowser1.Document
  20. End Sub
  21.  



baohiep
Thành viên danh dự
Thành viên danh dự
Bài viết: 109
Ngày tham gia: CN 27/12/2009 6:37 pm
Đến từ: Tam Kỳ
Has thanked: 3 time
Been thanked: 9 time

Re: Thủ thuật với WebBrowser

Gửi bàigửi bởi baohiep » T.Sáu 25/02/2011 10:10 pm

Cảm ơn bạn, cái này rất hay.

Wearetheworld
Thành viên chính thức
Thành viên chính thức
Bài viết: 18
Ngày tham gia: T.Hai 18/06/2012 10:05 pm
Has thanked: 10 time

Re: Thủ thuật với WebBrowser

Gửi bàigửi bởi Wearetheworld » CN 24/06/2012 6:37 am

Bạn ơi cho mình hỏi một chút mình định dùng webBrowser để truy cập một trang web nằm ở text1.Mình dùng như sau:
WebBrowser1.Navigate text1.text
Nhưng kết quả là nó lại dùng cả IE để mở trang web đó nữa chứ. Mình chỉ muốn dùng webBrowser thôi thì phải làm thế nào
Nếu mình muốn chương trình của mình tự động chờ cho đến khi webbrowser load xong trang web đó thì làm thế nào!?
MOng bạn giúp đỡ!

Hình đại diện của người dùng
nhochoclaptrinh
Thành viên danh dự
Thành viên danh dự
Bài viết: 514
Ngày tham gia: T.Bảy 28/05/2011 12:10 pm
Has thanked: 15 time
Been thanked: 83 time

Re: Thủ thuật với WebBrowser

Gửi bàigửi bởi nhochoclaptrinh » T.Hai 25/06/2012 10:08 am

dactung93 đã viết:...10, Không cho click cuột phải....

Trong code này có thư viện
  1.  Dim CustomWB As WBCustomizer 'Deceler the CustomWB

Bạn đã quên giới thiện AddOn này rồi ;) http://www.vbforums.com/showthread.php?t=384076
Tải về WBCustomizer: http://support.microsoft.com/kb/q183235/
Sad eyes never lie :((

Hình đại diện của người dùng
01632911829
Thành viên chính thức
Thành viên chính thức
Bài viết: 42
Ngày tham gia: T.Bảy 11/08/2012 12:50 pm
Đến từ: Bình Thuận
Has thanked: 4 time
Been thanked: 2 time
Liên hệ:

Re: Thủ thuật với WebBrowser

Gửi bàigửi bởi 01632911829 » CN 30/12/2012 3:22 pm

13, Mở trang
Syntax: [ Download ] [ Hide ] [ Select ]
Using vb Syntax Highlighting
Private Sub Command2_Click()
WebBrowser1.ExecWB OLECMDID_OPEN, OLECMDEXECOPT_PROMPTUSER
End Sub

Làm không phải có form_load nó mới chạy á

Hình đại diện của người dùng
HaiVB6
Thành viên tâm huyết
Thành viên tâm huyết
Bài viết: 375
Ngày tham gia: T.Hai 03/02/2014 10:23 pm
Đến từ: [Gia Đông] - [Thuận Thành] - [Bắc Ninh]
Has thanked: 5 time
Been thanked: 14 time
Liên hệ:

Re: Thủ thuật với WebBrowser

Gửi bàigửi bởi HaiVB6 » CN 16/02/2014 6:02 pm

Cho thêm hướng dẫn thấy Link URL trang web đi!

Hình đại diện của người dùng
NTN
Thành viên tâm huyết
Thành viên tâm huyết
Bài viết: 472
Ngày tham gia: T.Tư 05/02/2014 3:43 pm
Đến từ: Cao Lãnh, Đồng Tháp,Việt Nam
Has thanked: 19 time
Been thanked: 7 time
Liên hệ:

Re: Thủ thuật với WebBrowser

Gửi bàigửi bởi NTN » CN 01/06/2014 1:07 pm

cho mình hỏi có cách nào thêm một đoạn code html vào trang web đang duyệt không ?


Quay về “[VB] Bài viết hướng dẫn”

Đang trực tuyến

Đang xem chuyên mục này: Không có thành viên nào trực tuyến.1 khách