vbwebbrowser控件详解vb+webbrowser控件详解
1、获得浏览器信息
private sub command1_click()
webbrowser1.navigate ""
end sub
private sub command2_click()
dim owindow
dim onav
set owindow = webbrowser1.document.parentwindow
set onav = owindow.navigator
debug.print onav.useragent
set owindow = nothing
set onav = nothing
end sub
点击command1浏览⽹页,点击command2在⽴即窗⼝中输出浏览器信息。
2、弹出webbrowser消息窗⼝
dim owindow
set owindow = webbrowser1.document.parentwindow
vb调⽤webbrowser技巧集2
向webbrowser中写⼊html内容的⼏种⽅法
⾸先在form_load中加⼊
webbrowser1.navigate "about:blank"
确保webbrowser1可⽤
⽅法1:
dim s as string
dim stream as istream
s = "hello world "
webbrowser1.document.write s
⽅法2:
dim o
set o = webbrowser1.aterange
debug.print o
if (not o is nothing) then
o.pastehtml "哈哈"
set o = nothing
end if
⽅法3:
'插⼊⽂本框
dim o
set o = webbrowser1.aterange
vb调⽤webbrowser技巧集3
1、页⾯滚动:
private sub command2_click()
webbrowser1.document.parentwindow.scrollby 0 30
end sub
private sub form_load()
webbrowser1.navigate ""
end sub
点击command2就可以使当前页⾯向下滚动30像素
2、判断页⾯是否可以前进后退
private sub command1_click()
end sub
private sub command2_click()
end sub
private sub form_load()
webbrowser1.navigate ""
end sub
private sub webbrowser1_commandstatechange(byval command as long byval enable as boolean)
if (command = csc_navigateback) then
end if
if (command = csc_navigateforward) then
end if
end sub
vb调⽤webbrowser技巧集4
1、如何使⽹页不出现滚动条:
private sub mnuscroll1_click()
@#注意:必须在⽹页完全显⽰之后才可以运⾏
webbrowser1.document.body.scroll = "no" @#不显⽰滚动条的办法
end sub
private sub mnuscroll2_click()
@#注意:必须在⽹页完全显⽰之后才可以运⾏
webbrowser1.document.body.scroll = "auto" @#显⽰滚动条的办法
end sub
2、如何获得⽹页中被选中部分的html:
private sub command1_click()
dim objselection
dim objtxtrange
set objselection = webbrowser1.document.selection
if not (objselection is nothing) then
set objtxtrange = aterange
if not (objtxtrange is nothing) then
debug.print objtxtrange.htmltext
set objtxtrange = nothing
end if
set objselection = nothing
end if
end sub
private sub form_load()
webbrowser1.navigate ""
end sub
navigate ⽅法的语法格式为:
webbrowser1.navigate url
[flags][targetframename][postdata][headers]
webbrowser 控件⽀持的主要⽅法有:
goback———回退到上⼀屏。
goforward———进⼊到下⼀屏。
gohome———回家。即回到主页。
stop———停⽌导航。
refresh———刷新。
navigate———导航。
webbrowser控件所响应的事件:
beforenavigate事件 ———在开始导航前发⽣。⼀般在此获取完整的url字符串。
webbrowser控件 最主要的参数:
url ———获得导航⽤的标准url字符串。例如:它能将””⾃动翻译为””
使⽤webbrowser的navigator或者navigator2⽅法打开⼀个asp⽂档并且传递参数进去,但是asp⽂档⽆法获得参数,请教是什么原因? vb源码:
private sub cmdsubmit_click()
dim strurl as string, strformdata as string
dim strdata as string
strurl = trim$()
strformdata = "name=" & trim$() & "&password=" &trim$()
call wbtest.navigate2(strurl 64 "_blank" strformdata "hello")
end sub
webbrowser的8个⽅法和13个属性
WebBrowser 参数原型:
html document是什么WebBrowser1.Navigate [Flags,][TargetFrameName,][PostData,][Headers]
WebBrowser的8个⽅法和13个属性,以及它们的功能:
⽅法说明
GoBack相当于IE的“后退”按钮,使你在当前历史列表中后退⼀项。
GoForward相当于IE的“前进”按钮,使你在当前历史列表中前进⼀项。
GoHome相当于IE的“主页”按钮,连接⽤户默认的主页。
GoSearch相当于IE的“搜索”按钮,连接⽤户默认的搜索页⾯。
Navigate连接到指定的URL。
Refresh刷新当前页⾯。
Refresh2同上,只是可以指定刷新级别,所指定的刷新级别的值来⾃RefreshConstants枚举表,该表定义在
ExDisp.h中,可以指定的不同值如下:
REFRESH_NORMAL 执⾏简单的刷新,不将HTTP pragma: no-cache头发送给服务器。
REFRESH_IFEXPIRED 只有在⽹页过期后才进⾏简单的刷新。
REFRESH_CONTINUE 仅作内部使⽤。在MSDN⾥写着DO NOT USE! 请勿使⽤。
REFRESH_COMPLETELY 将包含pragma: no-cache头的请求发送到服务器。
Stop相当于IE的“停⽌”按钮,停⽌当前页⾯及其内容的载⼊。
属性说明
Application如果该对象有效,则返回掌管WebBrowser控件的应⽤程序实现的⾃动化对象(IDispatch)。如果在宿
主对象中⾃动化对象⽆效,这个程序将返回WebBrowser控件的⾃动化对象。
Parent返回WebBrowser控件的⽗⾃动化对象,通常是⼀个容器,例如是宿主或IE窗⼝。
Container返回WebBrowser控件容器的⾃动化对象。通常该值与Parent属性返回的值相同。
Document为活动的⽂档返回⾃动化对象。如果HTML当前正被显⽰在WebBrowser中,则Document属性提供
对DHTML Object Model的访问途径。
TopLevelContainer返回⼀个Boolean值,表明IE是否是WebBrowser控件顶层容器,是就返回true。
Type返回已被WebBrowser控件加载的对象的类型。例如:如果加载.doc⽂件,就会返回Microsoft
Word Document。
Left返回或设置WebBrowser控件窗⼝的内部左边与容器窗⼝左边的距离。
Top返回或设置WebBrowser控件窗⼝的内部左边与容器窗⼝顶边的距离。
Width返回或设置WebBrowser窗⼝的宽度,以像素为单位。
Height返回或设置WebBrowser窗⼝的⾼度,以像素为单位。
LocationName返回⼀个字符串,该字符串包含着WebBrowser当前显⽰的资源的名称,如果资源是⽹页就是⽹页的
标题;如果是⽂件或⽂件夹,就是⽂件或⽂件夹的名称。
LocationURL返回WebBrowser当前正在显⽰的资源的URL。
Busy返回⼀个Boolean值,说明WebBrowser当前是否正在加载URL,如果返回true就可以使⽤stop⽅法
来撤销正在执⾏的访问操作。
WebBrowser 的事件:
Private Events
Description (描述)
(私有活动)
BeforeNavigate2导航发⽣前激发,刷新时不激发。
CommandStateChange当命令的激活状态改变时激发。它表明何时激活或关闭Back和Forward菜单项或按钮。
DocumentComplete当整个⽂档完成是激发,刷新页⾯不激发。
DownloadBegin当某项下载操作已经开始后激发,刷新也可激发此事件。
DownloadComplete当某项下载操作已经完成后激发,刷新也可激发此事件。
NavigateComplete2导航完成后激发,刷新时不激发。
NewWindow2在创建新窗⼝以前激发。
NewWindow2在创建新窗⼝以前激发。
OnFullScreen当FullScreen属性改变时激发。该事件采⽤VARIENT_BOOL的⼀个输⼊参数来指⽰IE是全屏显⽰⽅式
(VARIENT_TRUE)还是普通显⽰⽅式(VARIENT_FALSE)。
OnMenuBar改变MenuBar的属性时激发,标⽰参数是VARIENT_BOOL类型的。VARIANT_TRUE是可
见,VARIANT_ FALSE是隐藏。
OnQuit⽆论是⽤户关闭浏览器还是开发者调⽤Quit⽅法,当IE退出时就会激发。
OnStatusBar与OnMenuBar调⽤⽅法相同,标⽰状态栏是否可见。
OnToolBar调⽤⽅法同上,标⽰⼯具栏是否可见。
OnVisible控制窗⼝的可见或隐藏,也使⽤⼀个VARIENT_BOOL类型的参数。
StatusTextChange如果要改变状态栏中的⽂字,这个事件就会被激发,但它并不理会程序是否有状态栏。
TitleChange Title有效或改变时激发。
如何利⽤ webbrowser 控件显⽰ .gif 动画?
要有⼀定的⽹页知识(html、javascript、css) 注意细节:
没有"滚动条"和"⿏标右键弹出的 ie 上下⽂菜单"".htm 源⽂件" ...
我写了⼀个效果还真不错!
'objects: form1、command1、commondialog1、webbrowser1
option explicit
private sub command1_click()
commondialog1.showopen
if vba.im(commondialog1.filename)) >0 then
dim p as stdole.stdpicture
dim spath as string
spath = im(commondialog1.filename))
set p = vb.loadpicture(spath)
webbrowser1.width = p.width * 16 / 26
webbrowser1.height = p.height * 16 / 26
' webbrowser1.navigate "about:blank"
webbrowser1.document.open
webbrowser1.document.writeln ""
webbrowser1.document.writeln "webbrowser1.document.writeln "
webbrowser1.document.writeln ""
end if
end sub
private sub form_load()
command1.caption = "&open"
webbrowser1.navigate "about:blank"
webbrowser1.document.open
webbrowser1.document.writeln ""
webbrowser1.document.writeln "webbrowser1.document.writeln ""
webbrowser1.document.writeln ""
webbrowser1.document.close
end sub
webbrowser 的事件
beforenavigate2 导航发⽣前激发,刷新时不激发
commandstatechange 当命令的激活状态改变时激发。它表明何时激活或关闭back和forward菜单项或按钮
documentcomplete 当整个⽂档完成是激发,刷新页⾯不激发
downloadbegin 当某项下载操作已经开始后激发,刷新也可激发此事件
downloadcomplete 当某项下载操作已经完成后激发,刷新也可激发此事件
navigatecomplete2 导航完成后激发,刷新时不激发
newwindow2 在创建新窗⼝以前激发
onfullscreen 当fullscreen属性改变时激发。该事件采⽤varient_bool的⼀个输⼊参数来指⽰ie是全屏显⽰⽅式(varient_true)还是普通显⽰⽅式(varient_false) onmenubar 改变menubar的属性时激发,标
⽰参数是varient_bool类型的。 variant_true是可见,variant_ false是隐藏
onquit ⽆论是⽤户关闭浏览器还是开发者调⽤quit⽅法,当ie退出时就会激发
onstatusbar 与onmenubar调⽤⽅法相同,标⽰状态栏是否可见。
ontoolbar 调⽤⽅法同上,标⽰⼯具栏是否可见。
onvisible 控制窗⼝的可见或隐藏,也使⽤⼀个varient_bool类型的参数
statustextchange 如果要改变状态栏中的⽂字,这个事件就会被激发,但它并不理会程序是否有状态栏
titlechange title有效或改变时激发
webbrowser 技巧(收藏)
看到很多关于webbrowser控件禁⽌右键的提问,回复的⽅法很多,其中有提到使⽤微软提供的webbrowser扩展com服务器对象
(wbcustomizer.dll),但是该⽅法在我们想使⽤webbrowser编辑⽹页(
ccommand editmode)的时候有很多弊端,⽐如不能显⽰选中的⽂本等。另有些⽅法也就不⽤⼀⼀列举了。
这⼉我想提到的是关于mshtml.htmldocument 引⽤microsoft html object library
rem #窗体代码#
dim withevents m_dom as mshtml.htmldocument
private function m_dom_oncontextmenu() as boolean
m_dom_oncontextmenu = false
end function
private sub webbrowser1_downloadcomplete()
set m_dom = webbrowser1.document
end sub
rem 好了,右键菜单没有了
=======================================================================
控件调⽤和获得收藏夹⾥⾯
基本上⽤ specialfolder(6) 就可以得到收藏夹的路径然后你可以⽤dir去循环读⼊每个⽬录然后dir⾥⾯的file, file的名字就是你要的收藏的名字路径可以⾃⼰根据从上⾯得到的路径去得到. 如果你不⽤dir也可以⽤vb的dir控件.
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论