• 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
Posts: 496
Joined: Tue 04/11/2008 8:43 am
Has thanked: 6 times
Been thanked: 8 times

Thủ thuật với WebBrowser

Postby dactung93 » Sat 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 )
[vb]
Private Sub WebBrowser1_NewWindow2(ppDisp As Object, Cancel As Boolean)
Dim frm As Form1
Set frm = New Form1
Set ppDisp = frm.WebBrowser1.Object
frm.Show
End Sub
[/vb]
3, Tìm kiếm chuỗi
[vb]
Private Sub Command1_Click()
Dim strfindword As String
strfindword = InputBox("What are you looking for?", "Find", "") ' what word to find?
If WebPageContains(strfindword) = True Then 'check if the word is in page
MsgBox "The webpage contains the text" 'string is in page
Else
MsgBox "The webpage doesn't contains the text" 'string is not in page
End If
End Sub
Private Function WebPageContains(ByVal s As String) As Boolean
Dim i As Long, EHTML
For i = 1 To WebBrowser1.Document.All.length
Set EHTML = _
WebBrowser1.Document.All.Item(i)


If Not (EHTML Is Nothing) Then
If InStr(1, EHTML.innerHTML, _
s, vbTextCompare) > 0 Then
WebPageContains = True
Exit Function
End If
End If
Next i
End Function
Private Sub Form_Load()
WebBrowser1.Navigate2 "www.msn.com"
End Sub
[/vb]
4, Viết mã HTML và hiển thị ngay trên WB
[vb]
Private Sub Form_Load()
WebBrowser1.Navigate "about:blank"
End Sub

Private Sub Command1_Click()
Dim HTML As String
'----------The HTML CODE GOES FROM HERE AND DOWN----------
HTML = "<HTML>" & _
"<TITLE>Page On Load</TITLE>" & _
"<BODY>" & _
"<FONT COLOR = BLUE>" & _
"This is a " & _
"<FONT SIZE = 5>" & _
"<B>" & _
"programmatically " & _
"</B>" & _
"</FONT SIZE>" & _
"made page" & _
"</FONT>" & _
"</BODY>" & _
"</HTML>"
'----------The HTML CODE GOES HERE AND ABOVE----------
WebBrowser1.Document.Write HTML
End Sub
[/vb]
5, Một số hàm thông thường
[vb]
Private Sub Command1_Click(Index As Integer)
On Error Resume Next ' just in case there is no page back or forward
'I showed how to disabel them if you scroll down more
Select Case Index
Case 0 'Go Back Button
WebBrowser1.GoBack 'Go Back one Page
Case 1 'Go Forward Button
WebBrowser1.GoForward 'Go Forward one Page
Case 2 'Stop Button
WebBrowser1.Stop 'stop page
Case 3 'Refresh Button
WebBrowser1.Refresh 'refresh page
Case 4 'Go Home Button
WebBrowser1.GoHome 'Go to home page
Case 5 'Search Button
WebBrowser1.GoSearch 'Search
End Select
End Sub
[/vb]
6, Một số hàm nâng cao
[vb]
Private Sub Command1_Click() 'Print Button
WebBrowser1.ExecWB OLECMDID_PRINT, OLECMDEXECOPT_DODEFAULT 'Show Print Window
End Sub
Private Sub Command2_Click() 'Print Preview Button
WebBrowser1.ExecWB OLECMDID_PRINTPREVIEW, OLECMDEXECOPT_DODEFAULT 'Show Print Preview Window
End Sub
Private Sub Command3_Click() 'Page Setup Button
WebBrowser1.ExecWB OLECMDID_PAGESETUP, OLECMDEXECOPT_DODEFAULT 'Show Page Setup Window
End Sub
Private Sub Command4_Click() 'Page Properties Button
WebBrowser1.ExecWB OLECMDID_PROPERTIES, OLECMDEXECOPT_DODEFAULT 'Show Page Properties Window
End Sub
Private Sub Form_Load()
WebBrowser1.Navigate "www.google.com"
End Sub
[/vb]

7, Thay đổi size hiển thị trên trình duyệt
[vb]
Private Sub Command1_Click() ' Smallest Button
On Error Resume Next
WebBrowser1.ExecWB OLECMDID_ZOOM, OLECMDEXECOPT_DONTPROMPTUSER, CLng(0), vbNull
End Sub
Private Sub Command2_Click() 'Small Button
On Error Resume Next
WebBrowser1.ExecWB OLECMDID_ZOOM, OLECMDEXECOPT_DONTPROMPTUSER, CLng(1), vbNull
End Sub
Private Sub Command3_Click() 'Medium Button
On Error Resume Next
WebBrowser1.ExecWB OLECMDID_ZOOM, OLECMDEXECOPT_DONTPROMPTUSER, CLng(2), vbNull
End Sub
Private Sub Command4_Click() 'Large Button
On Error Resume Next
WebBrowser1.ExecWB OLECMDID_ZOOM, OLECMDEXECOPT_DONTPROMPTUSER, CLng(3), vbNull
End Sub
Private Sub Command5_Click() 'Largest Button
On Error Resume Next
WebBrowser1.ExecWB OLECMDID_ZOOM, OLECMDEXECOPT_DONTPROMPTUSER, CLng(4), vbNull
End Sub
Private Sub Form_Load()
WebBrowser1.Navigate2 "www.google.com"
End Sub
[/vb]

8, Tự động enable/ Disable nút Back và Forward
[vb]
Private Sub Command1_Click() 'Go Back Button
WebBrowser1.GoBack 'Go Back
End Sub
Private Sub Command2_Click() 'Go Forward Button
WebBrowser1.GoForward 'Go Forward
End Sub
Private Sub Form_Load()
WebBrowser1.Navigate "www.google.com"
End Sub
Private Sub WebBrowser1_CommandStateChange(ByVal Command As Long, ByVal Enable As Boolean)
Select Case Command
Case 1 'Forward
Command2.Enabled = Enable
Case 2 'Back
Command1.Enabled = Enable
End Select
End Sub
[/vb]
9, page setup/print preview/print setup
[vb]
Private Sub Command1_Click() 'Print Button
WebBrowser1.ExecWB OLECMDID_PRINT, OLECMDEXECOPT_DODEFAULT 'Show Print Window
End Sub
Private Sub Command2_Click() 'Print Preview Button
WebBrowser1.ExecWB OLECMDID_PRINTPREVIEW, OLECMDEXECOPT_DODEFAULT 'Show Print Preview Window
End Sub
Private Sub Command3_Click() 'Page Setup Button
WebBrowser1.ExecWB OLECMDID_PAGESETUP, OLECMDEXECOPT_DODEFAULT 'Show Page Setup Window
End Sub
Private Sub Form_Load()
WebBrowser1.Navigate "www.google.com"
End Sub
Public Function Enable_or_Disable()
If WebBrowser1.QueryStatusWB(OLECMDID_PRINT) = 0 Then
Command1.Enabled = False
Else
Command1.Enabled = True
End If
If WebBrowser1.QueryStatusWB(OLECMDID_PRINTPREVIEW) = 0 Then
Command2.Enabled = False
Else
Command2.Enabled = True
End If

If WebBrowser1.QueryStatusWB(OLECMDID_PAGESETUP) = 0 Then
Command3.Enabled = False
Else
Command3.Enabled = True
End If
End Function
Private Sub WebBrowser1_BeforeNavigate2 _
(ByVal pDisp As Object, _
URL As Variant, _
Flags As Variant, _
TargetFrameName As Variant, _
PostData As Variant, _
Headers As Variant, _
Cancel As Boolean)
Enable_or_Disable
End Sub
Private Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, URL As Variant)
Enable_or_Disable
End Sub
[/vb]
10, Không cho click cuột phải
[vb]
Option Explicit
Dim CustomWB As WBCustomizer 'Deceler the CustomWB
Private Sub Form_Load()
Set CustomWB = New WBCustomizer
With CustomWB
.EnableContextMenus = False 'Disable The Menu
.EnableAllAccelerators = True

Set .WebBrowser = WebBrowser1
End With
WebBrowser1.Navigate "www.google.com"
CustomWB.EnableContextMenus = False
End Sub
[/vb]
11, Lấy tất cả link trên web browse
[vb]
Option Explicit
Private Sub Form_Load()
WebBrowser1.Navigate "www.vbforums.com"
End Sub
Private Sub WebBrowser1_DownloadComplete()
'you must add the "Microsoft HTML Object Library"!!!!!!!!!
Dim HTMLdoc As HTMLDocument
Dim HTMLlinks As HTMLAnchorElement
Dim STRtxt As String
' List the links.
On Error Resume Next
Set HTMLdoc = WebBrowser1.Document
For Each HTMLlinks In HTMLdoc.links
STRtxt = STRtxt & HTMLlinks.href & vbCrLf
Next HTMLlinks
Text1.Text = STRtxt
End Sub
[/vb]

Hoặc

[vb]
Open "C:\Documents and Settings\[YOU USERNAME]\Desktop\link log.txt" For Append As #1
Print #1, STRtxt
Close #1
[/vb]
12, Lưu trang
[vb]
Option Explicit
Private Sub Command1_Click()
WebBrowser1.ExecWB OLECMDID_SAVEAS, OLECMDEXECOPT_DODEFAULT
End Sub
Private Sub Form_Load()
WebBrowser1.Navigate2 "www.google.com"
End Sub
[/vb]
13, Mở trang
[vb]
Private Sub Command2_Click()
WebBrowser1.ExecWB OLECMDID_OPEN, OLECMDEXECOPT_PROMPTUSER
End Sub
[/vb]

Hoặc

[vb]
Option Explicit
Private Sub Command1_Click()
On Error Resume Next
With CommonDialog1
.DialogTitle = "Open File"
.Filter = "Web page (*.htm;*.html) | *.htm;*.html|" & _
"All Supported Picture formats|*.gif;*.tif;*.pcd;*.jpg;*.wmf;" & _
"*.tga;*.jpeg;*.ras;*.png;*.eps;*.bmp;*.pcx|" & _
"Text formats (*.txt;*.doc)|*.txt;*.doc|" & _
"All files (*.*)|*.*|"
.ShowOpen
.Flags = 5
WebBrowser1.Navigate2 .FileName
End With
End Sub
Private Sub Form_Load()
WebBrowser1.Navigate2 "www.google.com"
End Sub
[/vb]

14, Gửi một from

[vb]
Private Sub Command1_Click()
Dim strwebsite As String
Dim stremail As String
strwebsite = "http://www.mysite.com"
stremail = "myemail@host.com"
WebBrowser1.Document.addurl.URL.Value = strwebsite
WebBrowser1.Document.addurl.Email.Value = stremail
WebBrowser1.Document.addurl.Submit
End Sub
Private Sub Form_Load()
WebBrowser1.Navigate "http://www.scrubtheweb.com/addurl.html"
End Sub
[/vb]
15, Sử dụng ProgressBar
[vb]
Private Sub Form_Load()
WebBrowser1.Navigate "www.msn.com"
ProgressBar1.Appearance = ccFlat
ProgressBar1.Scrolling = ccScrollingSmooth
End Sub

Private Sub WebBrowser1_ProgressChange(ByVal Progress As Long, ByVal ProgressMax As Long)
On Error Resume Next
If Progress = -1 Then ProgressBar1.Value = 100
Me.Caption = "100%"
If Progress > 0 And ProgressMax > 0 Then
ProgressBar1.Value = Progress * 100 / ProgressMax
Me.Caption = Int(Progress * 100 / ProgressMax) & "%"
End If
Exit Sub
End Sub
[/vb]

16, Focus vào 1 control trong webbrowse
[vb]
Private Sub Command1_Click()
WebBrowser1.Document.All("q").focus 'Set the search text filed in focus
End Sub

Private Sub Command2_Click()
WebBrowser1.Document.All("btnI").focus 'Set the google "I Am feeling lucky in focus button"
End Sub

Private Sub Form_Load()
WebBrowser1.Navigate "http://www.google.com/"
End Sub
[/vb]

Hoặc

[vb]
WebBrowser1.Document.getElementById("Object's Name").Focus
[/vb]

17, Checkbox và cách điều khiển
[vb]
Private Sub Form_Load()
WebBrowser1.Navigate "https://www.google.com/accounts/ManageAccount"
End Sub
Private Sub Check1_Click()
If Check1.Value = 0 Then
WebBrowser1.Document.All.PersistentCookie.Checked = False 'unchecked
Else
WebBrowser1.Document.All.PersistentCookie.Checked = True 'checked
End If
End Sub
[/vb]

Hoặc
[vb]
Private Sub Form_Load()
WebBrowser1.Navigate "https://www.google.com/accounts/ManageAccount"
End Sub
Private Sub Check1_Click()
If Check1.Value = 0 Then
WebBrowser1.Document.All.PersistentCookie.Checked = 0 'unchecked
Else
WebBrowser1.Document.All.PersistentCookie.Checked = 1 'checked
End If
End Sub
[/vb]

hoặc

[vb]
Private Sub Form_Load()
WebBrowser1.Navigate "https://www.google.com/accounts/ManageAccount"
End Sub
Private Sub Check1_Click()
If Check1.Value = 0 Then
WebBrowser1.Document.getElementById("PersistentCookie").Checked = False 'unchecked
Else
WebBrowser1.Document.getElementById("PersistentCookie").Checked = True 'checked
End If
End Sub
[/vb]

18, Tự làm popupmenu cho webbrowse
[vb]
'Must Add Microsoft HTML Object Library
Option Explicit
Public WithEvents HTML As HTMLDocument

Private Function HTML_oncontextmenu() As Boolean
HTML_oncontextmenu = False
PopupMenu mnu '<---Check the mnu to your own menu name
End Function

Private Sub Form_Load()
WebBrowser1.Navigate "www.google.com"
End Sub

Private Sub Form_Unload(Cancel As Integer)
Set HTML = Nothing
End Sub
Private Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, _
URL As Variant)
Set HTML = WebBrowser1.Document
End Sub
[/vb]



baohiep
Thành viên danh dự
Thành viên danh dự
Posts: 109
Joined: Sun 27/12/2009 6:37 pm
Location: Tam Kỳ
Has thanked: 3 times
Been thanked: 9 times

Re: Thủ thuật với WebBrowser

Postby baohiep » Fri 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
Posts: 18
Joined: Mon 18/06/2012 10:05 pm
Has thanked: 10 times

Re: Thủ thuật với WebBrowser

Postby Wearetheworld » Sun 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 đỡ!

User avatar
nhochoclaptrinh
Thành viên danh dự
Thành viên danh dự
Posts: 517
Joined: Sat 28/05/2011 12:10 pm
Has thanked: 15 times
Been thanked: 83 times

Re: Thủ thuật với WebBrowser

Postby nhochoclaptrinh » Mon 25/06/2012 10:08 am

dactung93 wrote:...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 :((

User avatar
01632911829
Thành viên chính thức
Thành viên chính thức
Posts: 42
Joined: Sat 11/08/2012 12:50 pm
Location: Bình Thuận
Has thanked: 4 times
Been thanked: 2 times
Contact:

Re: Thủ thuật với WebBrowser

Postby 01632911829 » Sun 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 á

User avatar
HaiVB6
Thành viên tâm huyết
Thành viên tâm huyết
Posts: 375
Joined: Mon 03/02/2014 10:23 pm
Location: [Gia Đông] - [Thuận Thành] - [Bắc Ninh]
Has thanked: 5 times
Been thanked: 14 times
Contact:

Re: Thủ thuật với WebBrowser

Postby HaiVB6 » Sun 16/02/2014 6:02 pm

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

User avatar
NTN
Thành viên tâm huyết
Thành viên tâm huyết
Posts: 482
Joined: Wed 05/02/2014 3:43 pm
Location: Đồng Tháp,Việt Nam
Has thanked: 19 times
Been thanked: 7 times
Contact:

Re: Thủ thuật với WebBrowser

Postby NTN » Sun 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 ?


Return to “[VB] Bài viết hướng dẫn”

Who is online

Users browsing this forum: No registered users and 2 guests