vb网页功能操作Word文件下载.docx
- 文档编号:17184758
- 上传时间:2022-11-28
- 格式:DOCX
- 页数:9
- 大小:19.45KB
vb网页功能操作Word文件下载.docx
《vb网页功能操作Word文件下载.docx》由会员分享,可在线阅读,更多相关《vb网页功能操作Word文件下载.docx(9页珍藏版)》请在冰豆网上搜索。
三、提取字符串或网页源代码中指定的资源(可利用这一函数做文章采集器)
PublicFunctionFindStrMulti$(Strall$,FirstStr$,EndStr$,SplitStr$)'
提取字符串或网页源代码中所有指定代码
参数
总文本,起始字符串,终止字符串,分隔符
Dimi&
j&
j=1
Do
i=InStr(j,Strall,FirstStr)
Ifi=0Then
ExitDo
EndIf
i=i+Len(FirstStr)
j=InStr(i,Strall,EndStr)
Ifj>
0Then
FindStrMulti=IIf(Len(FindStrMulti)>
0,FindStrMulti&
SplitStr,"
)&
Mid(Strall,i,j-i)
Else
Loop
2.函数调用
截取字符串中的内容
Dimstr1AsString
Dimstr2AsString
str1="
<
table>
tr>
td>
要截取的内容<
/td>
/tr>
/table>
str2=FindStrMulti(str1,"
"
MsgBoxstr2
'
此时str2的值就为要截取的内容
文章列表标题链接采集实例
网页代码
DIVid=content>
SPANclass=navbar>
STRONG>
Ahref="
/blog/"
>
博客首页<
/A>
&
gt;
文章列表<
/STRONG>
/SPAN>
TABLEclass=content_tablewidth="
100%"
TBODY>
TR>
TD>
H1>
比目鱼博客文章列表<
/H1>
P>
UL>
LI>
SPANclass=list-category>
[文坛张望]<
<
Aclass=list-titlehref="
/blog/archives/119491210.shtml"
谁会拿下2010年的诺贝尔文学奖?
SPANclass=list-date>
(2010-10-0122:
38)<
/LI>
[视觉训练]<
/blog/archives/119247165.shtml"
书法练习二幅<
(2010-09-2901:
51)<
/blog/archives/118604217.shtml"
骆以军对话董启章<
(2010-09-2117:
15)<
/blog/archives/118206492.shtml"
夜临古画(六)<
(2010-09-1701:
46)<
[我也读书]<
/blog/archives/117345094.shtml"
JenniferEgan的《AVisitFromtheGoonSquad》<
(2010-09-0702:
30)<
/blog/archives/116446375.shtml"
当我们谈论电子书的时候我们在谈论电子书阅读器<
(2010-08-2716:
[IT互联网]<
/blog/archives/116133972.shtml"
“读写人”和“比目鱼”网站的手机版<
(2010-08-2402:
04)<
/UL>
/P>
Palign=center>
1<
/blog/list_all_2.shtml"
2<
/blog/list_all_3.shtml"
3<
/blog/list_all_4.shtml"
4<
/blog/list_all_5.shtml"
5<
/blog/list_all_6.shtml"
6<
/blog/list_all_7.shtml"
7<
/blog/list_all_8.shtml"
8<
&
/TD>
/TR>
/TBODY>
/TABLE>
nbsp;
/DIV>
!
--ENDCONTENT-->
--BEGINSITEBAR-->
DIVid=sidebar>
从以上代码中获取<
ul>
/ul>
之间所有文章的标题链接,实现方法如下:
DimstrWebAsString
DimiAsInteger
DimstrListAreaAsString
DimstrLink'
定义存放列表文章链接的数组
strWeb=WebDaima(Me.WebBrowser1,"
获取网页body代码(具体查看WebDaima函数)
strListArea=FindStrMulti(strWeb,"
)'
截列表区域代码
获取列表区域中文章链接,并存在在数组strLink中
strLink=Split(FindStrMulti(strListArea,"
href="
Chr(34),Chr(34)&
"
vbCrLf),vbCrLf)
Fori=0ToUBound(strLink)'
循环输出链接
Text1.Text=Text1.Text&
strLink(i)&
vbCrLf
Nexti
四、中文汉字转化为URL编码
函数代码:
以下两个函数用于将文字转化为UTF8或GBK编码:
(如在XX中搜索内容时,XX先将搜索词转化为UTF8的编码,再传送给服务器)
调用:
KeyWordUtf=UTF8EncodeURI(KeyWord)或KeyWordUtf=GBKEncodeURI(KeyWord)
PublicFunctionUTF8EncodeURI(szInput)
Dimwch,uch,szRet
DimX
DimnAsc,nAsc2,nAsc3
IfszInput="
Then
UTF8EncodeURI=szInput
ExitFunction
ForX=1ToLen(szInput)
wch=Mid(szInput,X,1)
nAsc=AscW(wch)
IfnAsc<
0ThennAsc=nAsc+65536
If(nAscAnd&
HFF80)=0Then
szRet=szRet&
wch
HF000)=0Then
uch="
%"
Hex(((nAsc\2^6))Or&
HC0)&
Hex(nAscAnd&
H3FOr&
H80)
uch
Hex((nAsc\2^12)Or&
HE0)&
_
Hex((nAsc\2^6)And&
H80)&
Next
UTF8EncodeURI=szRet
PublicFunctionGBKEncodeURI(szInput)
DimiAsLong
DimX()AsByte
DimszRetAsString
szRet="
X=StrConv(szInput,vbFromUnicode)
Fori=LBound(X)ToUBound(X)
Hex(X(i))
GBKEncodeURI=szRet
函数调用:
MsgBoxUTF8EncodeURI("
中文汉字"
MsgBoxGBKEncodeURI("
五、获取网页中的验证码
PublicFunctionGetImg(WebBrowser,Img,sxz)
WebBrowser:
等获取验证码网页所在的WebBrowser控件
Img:
显示验证码的Image控件
sxz:
网页中验证码相应属性的属性值
DimCtrlRange,x
ForEachxInWebBrowser.Document.All
IfUCase(x.tagName)="
IMG"
x.src为验证码图片的属性,也可是其他属性如x.onload等
IfInStr(x.src,sxz)>
SetCtrlRange=WebBrowser.Document.body.createControlRange()
CtrlRange.Add(x)
CtrlRange.execCommand("
Copy"
Debug.Print"
Img.Picture=Clipboard.GetData
如获取网页
IMGid=valiCodestyle="
CURSOR:
pointer"
alt=验证码src="
/VerifyCode_Login.aspx"
border=0>
获取验证码函数调用如下:
CallGetImg(Form1.WebBrowser1,Form1.Image1,"
VerifyCode_Login.aspx"
六、WebBrowser控件中网页按钮的点击
BUTTONid="
WordSearchBtn"
class="
btn"
查询<
/button>
此按钮的点击方法
WebBrowser1.Document.getelementsbytagname("
BUTTON"
)("
).Click
七、WebBrowser控件中网页文本框的赋值
文本框代码:
inputid="
WordInput"
maxlength="
40"
type="
text"
/>
input"
).Value="
要在文本框输入的文字"
此处WordInput为文本框的ID或Name属性值
八、WebBrowser控件中网页列表/菜单表单选项的选取
函数代码
PublicFunctionSelectXq(WebBrowser,SelectName,SelectValue)
WebBrowser控件名称
SelectName:
网页中列表/菜单表单名称或ID值
SelectValue:
选中值
WebBrowser.doc.All.Item(SelectName).Value=SelectValue
函数调用方法:
WebBrowser中网页Select表单代码如下:
SELECTid=ctl00_ContentPlaceHolder1_DropDownList1name=ctl00$ContentPlaceHolder1$DropDownList1>
OPTIONvalue=我就读的第一所学校的名称?
selected>
我就读的第一所学校的名称?
/OPTION>
OPTIONvalue=我最喜欢的休闲运动是什么?
我最喜欢的休闲运动是什么?
OPTIONvalue=我最喜欢的运动员是谁?
我最喜欢的运动员是谁?
OPTIONvalue=我最喜欢的物品的名称?
我最喜欢的物品的名称?
OPTIONvalue=我最喜欢的歌曲?
我最喜欢的歌曲?
OPTIONvalue=我最喜欢的食物?
我最喜欢的食物?
OPTIONvalue=我最爱的人的名字?
我最爱的人的名字?
OPTIONvalue=我最爱的电影?
我最爱的电影?
OPTIONvalue=我妈妈的生日?
我妈妈的生日?
/SELECT>
让列表表单选中选项值为我最爱的人的名字的选项
CallSelectXq(Form1.WebBrowser1,"
ctl00_ContentPlaceHolder1_DropDownList1"
八、自动填写注册表单并提交
网页表单代码
form
method="
POST"
action="
result.asp"
p>
请填写下面表单注册(*项为必添项)<
/p>
*姓名<
input
name="
Name"
size="
20"
*男<
radio"
value="
V1"
R1"
*女<
R2"
*昵称<
NickName"
*兴趣爱好<
selectname="
aihao"
optionvalue="
计算机"
计算机<
/option>
游戏"
游戏<
逛街"
逛街<
/select>
电子邮件<
EMail"
*密码<
password"
Password"
submit"
提交"
B1"
reset"
全部重写"
B2"
/form>
填写表单并提交操作代码
PrivateSubForm_Load()
WebBrowser1.Navigate2App.Path&
\test.htm"
EndSub
PrivateSubWebBrowser1_DocumentComplete(ByValpDispAsObject,URLAsVariant)
DimvDoc,vTag
DimiAsInteger
SetvDoc=WebBrowser1.Document
List1.Clear
Fori=0TovDoc.All.length-1
IfUCase(vDoc.All(i).tagName)="
INPUT"
OrUCase(vDoc.All(i).tagName)="
SELECT"
SetvTag=vDoc.All(i)
IfvTag.Type="
OrvTag.Type="
OrvTag.Name="
List1.AddItemvTag.Name
SelectCasevTag.Name
vTag.Value="
IMGod"
vTag.Checked=True
IMGodpass"
IMGod@"
ElseIfvTag.Type="
vTag.Click
Nexti
九、限制WebBrowser控件中网页的所有链接在同一个窗口打开
WebBrowser1.Navigate("
PrivateSubWebBrowser1_NewWindow2(ppDispAsObject,CancelAsBoolean)
Cancel=True
WebBrowser1.NavigateWebBrowser1.Document.activeelement.href
十、控件WebBrowser控件中网页弹窗或新窗口打开的链接在另一个WebBrowser控件中打开
PrivateSubWebBro
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- vb 网页 功能 操作