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瀏覽網(wǎng)頁,,點擊command2在立即窗口中輸出瀏覽器信息。 2,、彈出webbrowser消息窗口
dim owindow
set owindow = webbrowser1.document.parentwindow
owindow.confirm "abcd" vb調(diào)用webbrowser技巧集2 向webbrowser中寫入html內(nèi)容的幾種方法 首先在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.document.selection.createrange
debug.print o
if (not o is nothing) then
o.pastehtml "哈哈"
set o = nothing
end if 方法3: '插入文本框
dim o
set o = webbrowser1.document.selection.createrange
o.execcommand "inserttextarea" false "xxx"
vb調(diào)用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()
webbrowser1.goforward end sub private sub command2_click()
webbrowser1.goback 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
command2.enabled = enable
end if
if (command = csc_navigateforward) then
command1.enabled = enable
end if end sub vb調(diào)用webbrowser技巧集4
1,、如何使網(wǎng)頁不出現(xiàn)滾動條: private sub mnuscroll1_click()
@#注意:必須在網(wǎng)頁完全顯示之后才可以運行
webbrowser1.document.body.scroll = "no" @#不顯示滾動條的辦法 end sub private sub mnuscroll2_click()
@#注意:必須在網(wǎng)頁完全顯示之后才可以運行
webbrowser1.document.body.scroll = "auto" @#顯示滾動條的辦法 end sub 2,、如何獲得網(wǎng)頁中被選中部分的html:private sub command1_click()
dim objselection
dim objtxtrange
set objselection = webbrowser1.document.selection
if not (objselection is nothing) then
set objtxtrange = objselection.createrange
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事件 ———在開始導航前發(fā)生。一般在此獲取完整的url字符串,。 webbrowser控件 最主要的參數(shù): url ———獲得導航用的標準url字符串,。例如:它能將””自動翻譯為”” 使用webbrowser的navigator或者navigator2方法打開一個asp文檔并且傳遞
參數(shù)進去,但是asp文檔無法獲得參數(shù),,請教是什么原因,?
vb源碼: private sub cmdsubmit_click()
dim strurl as string, strformdata as string
dim strdata as string
strurl = trim$(txturl.text)
strformdata = "name=" & trim$(txtname.text) &
"&password=" &trim$(txtpassword.text)
call wbtest.navigate2(strurl 64 "_blank" strformdata
"hello") end sub asp源碼: ********************************************************************* option explicit private sub command1_click()
dim szvalue as string
webbrowser1.document.body.innerhtml = "method=post action=http://地址/xxx.php>"
webbrowser1.document.forms("post").submit end sub private sub form_load()
webbrowser1.navigate2 "about:blank" end sub ******************************************************************** 請問:在webbrwoser控件里提供的navigate或者navigate2方法中提供了傳遞數(shù)據(jù)的參數(shù),,調(diào)用方式為: webbrowser1.navigate2(url[flags]
[targetframename][postdata][headers])
其中postdata參數(shù)就是一個提交參數(shù)字符串,,例如"name=aaa&password=123", 但問題是為什么這個方法并不是有效的,,服務器端不能取得數(shù)據(jù),?
如果這個方法是有效的話就不需要用一段html代碼模擬這種調(diào)用了。 下面代碼能檢測出程序post出去的消息 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)
msgbox postdata end sub
webbrowser的8個方法和13個屬性 WebBrowser 參數(shù)原型: 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 執(zhí)行簡單的刷新,不將HTTP pragma: no-cache頭發(fā)送給服務器,。 REFRESH_IFEXPIRED 只有在網(wǎng)頁過期后才進行簡單的刷新。 REFRESH_CONTINUE 僅作內(nèi)部使用,。在MSDN里寫著DO NOT USE! 請勿使用,。 REFRESH_COMPLETELY 將包含pragma: no-cache頭的請求發(fā)送到服務器。 | Stop | 相當于IE的“停止”按鈕,,停止當前頁面及其內(nèi)容的載入,。 |
屬性 | 說明 | Application | 如果該對象有效,則返回掌管WebBrowser控件的應用程序?qū)崿F(xiàn)的自動化對象(IDispatch),。如果在宿主對象中自動化對象無效,,這個程序?qū)⒎祷?strong>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控件窗口的內(nèi)部左邊與容器窗口左邊的距離。 | Top | 返回或設置WebBrowser控件窗口的內(nèi)部左邊與容器窗口頂邊的距離,。 | Width | 返回或設置WebBrowser窗口的寬度,,以像素為單位。 | Height | 返回或設置WebBrowser窗口的高度,,以像素為單位,。 | LocationName | 返回一個字符串,該字符串包含著WebBrowser當前顯示的資源的名稱,,如果資源是網(wǎng)頁就是網(wǎng)頁的標題,;如果是文件或文件夾,就是文件或文件夾的名稱,。 | LocationURL | 返回WebBrowser當前正在顯示的資源的URL,。 | Busy | 返回一個Boolean值,說明WebBrowser當前是否正在加載URL,如果返回true就可以使用stop方法來撤銷正在執(zhí)行的訪問操作,。 |
|
WebBrowser 的事件: Private Events (私有活動) | Description (描述) | BeforeNavigate2 | 導航發(fā)生前激發(fā),,刷新時不激發(fā)。 | CommandStateChange | 當命令的激活狀態(tài)改變時激發(fā),。它表明何時激活或關閉Back和Forward菜單項或按鈕,。 | DocumentComplete | 當整個文檔完成是激發(fā),刷新頁面不激發(fā),。 | DownloadBegin | 當某項下載操作已經(jīng)開始后激發(fā),,刷新也可激發(fā)此事件。 | DownloadComplete | 當某項下載操作已經(jīng)完成后激發(fā),,刷新也可激發(fā)此事件,。 | NavigateComplete2 | 導航完成后激發(fā),刷新時不激發(fā),。 | NewWindow2 | 在創(chuàng)建新窗口以前激發(fā),。 | OnFullScreen | 當FullScreen屬性改變時激發(fā)。該事件采用VARIENT_BOOL的一個輸入?yún)?shù)來指示IE是全屏顯示方式(VARIENT_TRUE)還是普通顯示方式(VARIENT_FALSE),。 | OnMenuBar | 改變MenuBar的屬性時激發(fā),,標示參數(shù)是VARIENT_BOOL類型的。VARIANT_TRUE是可見,,VARIANT_ FALSE是隱藏,。 | OnQuit | 無論是用戶關閉瀏覽器還是開發(fā)者調(diào)用Quit方法,當IE退出時就會激發(fā),。 | OnStatusBar | 與OnMenuBar調(diào)用方法相同,,標示狀態(tài)欄是否可見。 | OnToolBar | 調(diào)用方法同上,,標示工具欄是否可見,。 | OnVisible | 控制窗口的可見或隱藏,也使用一個VARIENT_BOOL類型的參數(shù),。 | StatusTextChange | 如果要改變狀態(tài)欄中的文字,,這個事件就會被激發(fā),但它并不理會程序是否有狀態(tài)欄,。 | TitleChange | Title有效或改變時激發(fā),。 |
|
如何利用 webbrowser 控件顯示 .gif 動畫? 要有一定的網(wǎng)頁知識(html、javascript,、css)
注意細節(jié): 沒有"滾動條"和"鼠標右鍵彈出的 ie 上下文菜單"".htm 源文件" ... 我寫了一個效果還真不錯! 'objects: form1,、command1、commondialog1,、webbrowser1 option explicit private sub command1_click()
commondialog1.showopen
if vba.len(vba.trim(commondialog1.filename)) >0 then
dim p as stdole.stdpicture
dim spath as string
spath = vba.trim(vba.trim(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 導航發(fā)生前激發(fā),,刷新時不激發(fā) commandstatechange 當命令的激活狀態(tài)改變時激發(fā),。它表明何時激活或關閉back和forward菜單項或按鈕 documentcomplete 當整個文檔完成是激發(fā),刷新頁面不激發(fā) downloadbegin 當某項下載操作已經(jīng)開始后激發(fā),,刷新也可激發(fā)此事件 downloadcomplete 當某項下載操作已經(jīng)完成后激發(fā),,刷新也可激發(fā)此事件 navigatecomplete2 導航完成后激發(fā),刷新時不激發(fā) newwindow2 在創(chuàng)建新窗口以前激發(fā) onfullscreen 當fullscreen屬性改變時激發(fā),。該事件采用varient_bool的一個輸入?yún)?shù)來指示ie是全屏顯示方式(varient_true)還是普通顯示方式(varient_false)
onmenubar 改變menubar的屬性時激發(fā),,標示參數(shù)是varient_bool類型的。
variant_true是可見,,variant_ false是隱藏 onquit 無論是用戶關閉瀏覽器還是開發(fā)者調(diào)用quit方法,當ie退出時就會激發(fā) onstatusbar 與onmenubar調(diào)用方法相同,,標示狀態(tài)欄是否可見,。 ontoolbar 調(diào)用方法同上,標示工具欄是否可見,。 onvisible 控制窗口的可見或隱藏,,也使用一個varient_bool類型的參數(shù) statustextchange 如果要改變狀態(tài)欄中的文字,這個事件就會被激發(fā),,但它并不理會程序是否有狀態(tài)欄 titlechange title有效或改變時激發(fā)
webbrowser 技巧(收藏) 看到很多關于webbrowser控件禁止右鍵的提問,,回復的方法很多,其中有提到使用微軟提供的webbrowser擴展com服務器對象(wbcustomizer.dll),,但是該方法在我們想使用webbrowser編輯網(wǎng)頁(webbrowser1.document.execcommand
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 好了,,右鍵菜單沒有了 ======================================================================= 控件調(diào)用和獲得收藏夾里面 基本上用 specialfolder(6) 就可以得到收藏夾的路徑 然后你可以用dir去循環(huán)讀入每個目錄然后dir里面的file,
file的名字就是你要的收藏的名字 路徑可以自己根據(jù)從上面得到的路徑去得到.
如果你不用dir也可以用vb的dir控件.
|