VB制作网页自动填表(强烈推荐)
使用VBA实现网页自动化操作的方法与技巧
使用VBA实现网页自动化操作的方法与技巧在当今数字化时代,大量的工作需要通过使用计算机进行网页操作来完成。
网页自动化操作成为了我们提高效率和节省时间的好帮手。
VBA(Visual Basic for Applications)是一种功能强大的编程语言,常被用于自动化任务,包括网页自动化操作。
本文将介绍使用VBA来实现网页自动化操作的方法与技巧。
一、了解HTML基础知识在开始使用VBA进行网页自动化操作之前,我们需要了解一些基础的HTML知识。
HTML(HyperText Markup Language)是一种用于创建网页的标记语言。
了解HTML的基础知识将有助于我们理解网页的结构和元素,从而更好地进行自动化操作。
二、使用VBA对象模型VBA使用对象模型来访问和操作网页。
网页是一个由各种元素组成的层次结构,每个元素都有自己的属性和方法。
VBA提供了一些对象来表示网页元素,比如IE对象和HTML对象。
我们可以使用这些对象来定位和操作网页元素。
三、启动并控制Internet Explorer首先,我们需要创建一个IE对象来启动Internet Explorer。
可以使用下面的代码来实现:```vbaDim IE As ObjectSet IE = CreateObject("InternetExplorer.Application")IE.Visible = True```上述代码创建了一个名为IE的对象,并将其设置为可见。
接下来,我们可以使用IE对象来控制Internet Explorer的行为,比如打开网页、填写表单等。
四、定位网页元素定位网页元素是进行自动化操作的关键步骤。
我们可以使用VBA的IE对象来查找和定位网页元素。
常用的方法有ID、class、name、tag name等。
例如,要定位一个以ID属性为"search"的输入框,可以使用如下代码:```vbaDim SearchBox As ObjectSet SearchBox = IE.Document.getElementById("search")```上述代码将查找页面中ID为"search"的元素,并将其赋值给名为SearchBox的对象。
Vb(VBA)网页数据下载与控制
网页数据下载与控制一、概述及感谢需要用到网页控制的方面,大致概括一下为:1、程序中需要嵌入一个网页,例如:天气预报。
2、需要从网上下载数据,写入到本地数据库中。
二、Maxthon的使用无论哪方面的应用,首要的是找到网址(也许是废话)。
以Winland的天气预报为例,假如我的程序需要这样一个东西,我该如何下爪:1、打开2、点击“天气预报”,打开:/tianqi3、查一个城市试试,此时结果找到了,但网址没变。
4、点击Maxthon的viewpage。
5、在“框架”中,发现一个“内嵌框架”,点击打开。
发现原来天气预报的网址为:/WeatherInfoIfm.aspx?CityName=%e5%ae%9c%e6%98%8c6、下一步,在我们自己的程序中就可以使用这个网址,直接来查询了。
综上所述,通过Maxthon,我们可以很方便地找到我们所需要的真正的网址。
在viewpage中还有一个“表单”,里面很清楚地显示了Name,method,以及Action。
我理解这个Action 就是“结果网页”的网址的后半部分(不知对不对?)。
(在网页的表单里面Action是目标地址,就是处理这些递交内容的服务器端脚本。
如果Action为空的话,就是当前文件。
)三、网页关键字(录入、按钮、数据)解读<% 和 %> ASP脚本片断的开始和结束。
在<%和%>标签之间的脚本代码,在主页传递给用户浏览器之前会在服务器上执行。
<HTML> 和 </HTML> <HTML>标示网页的开头,</HTML>标示网页的结束。
<BODY> 和 </BODY> 网页上的文本应该放置在这些标示之间<TABLE> 和 </TABLE> 表格的开始和结束<TABLE Border = “1”> 表格边框参数明确表格边框的宽度<TH> 和 </TH> 放置表格标题于这些标示之间<TR> 和 </TR> 标示<TR>在表格里开始一新行。
通过VBA实现自动填充表单的方法
通过VBA实现自动填充表单的方法随着电脑的广泛应用,我们每天都要面对大量的表单填写工作。
自动填充表单可以节省我们大量的时间和精力,并提高工作效率。
在本文中,我将介绍如何使用VBA(Visual Basic for Applications)来实现自动填充表单的方法。
首先,我们需要了解几个基本概念。
VBA是微软Office套件中的一种编程语言,可以用于自动化执行任务,包括在Excel和其他Office应用程序中填写表单。
通过编写VBA代码,我们可以将一系列操作指令保存为宏,并在需要的时候重复执行。
接下来,我们将介绍如何使用VBA自动填充表单。
首先,打开Excel并创建一个新的工作表。
我们将在这个工作表上进行实验。
在工作表的第一行,创建表单的字段名称。
例如,如果我们要填写一个员工信息表单,字段名称可以包括“姓名”、“年龄”、“性别”等等。
请根据您的实际需要来创建适当的字段名称。
在第二行开始,填写一些示例数据。
这些示例数据将用于填充表单。
为了方便演示,我们可以使用随机数据生成器来生成一些测试数据。
在VBA中,可以通过使用`Rnd`函数和`Randomize`函数来生成随机数,并将其应用于示例数据。
然后,我们需要在VBA编辑器中编写VBA代码。
按下“Alt”和“F11”键,打开VBA编辑器。
在左侧的“项目”窗格中,双击“这台工作簿”的名称。
在右侧的窗口中,输入以下代码:```Sub AutoFillForm()Dim rng As RangeDim cell As RangeSet rng = Range("A2:F2") '这里根据实际情况修改范围For Each cell In rngcell.Offset(1, 0).Value = cell.ValueNext cellEnd Sub```在这段代码中,我们定义了一个名为`AutoFillForm`的子程序。
首先,我们声明了两个变量:“rng”和“cell”。
VBA与表格数据填报的实用方法
VBA与表格数据填报的实用方法在日常工作中,我们经常需要处理大量的数据,并将其填写到表格中。
为了提高工作效率,VBA(Visual Basic for Applications)可以提供一些实用的方法来处理和填报表格数据。
本文将介绍一些常用的VBA与表格数据填报的实用方法,帮助您更高效地处理和填报表格数据。
一、自动填写表格数据在表格中填写大量的数据是一项重复且费时的任务,而使用VBA可以自动化这一过程。
以下是一些常用的VBA 代码,可以帮助我们快速填写表格数据。
1. 循环填写数据使用循环结构可以一次性在表格的多个单元格中填写相同的数据。
下面的VBA代码示例展示了如何使用循环填写数据到表格中。
```VBASub FillData()Dim cell As RangeSet rng = Range("A1:A10") '将数据填写至A1:A10范围的单元格For Each cell In rngcell.Value = "数据" '将数据填写至单元格Next cellEnd Sub```通过修改变量`rng`的范围和`cell.Value`的值,您可以在需要填写数据的区域和填写的数据上进行自定义。
2. 根据条件填写数据有时我们需要根据一定的条件来填写表格数据。
下面的VBA代码示例演示了如何根据条件填写数据。
```VBASub FillDataBasedOnCondition()Dim cell As RangeSet rng = Range("A1:A10") '将数据填写至A1:A10范围的单元格For Each cell In rngIf cell.Value > 10 Then '根据条件填写数据cell.Value = "满足条件"Elsecell.Value = "不满足条件"End IfNext cellEnd Sub```通过修改条件语句`If cell.Value > 10 Then`中的条件以及`cell.Value`的值,您可以根据自己的需求来填写数据。
vB中做表格模板
竭诚为您提供优质文档/双击可除vB中做表格模板篇一:办公室文员实用,表格制作方法办公室文员、助理都可以学学,留着迟早用得着!一、输入三个“=”,回车,得到一条双直线;二、输入三个“~”,回车,得到一条波浪线;三、输入三个“*”或“-”或“#”,回车,惊喜多多;在单元格内输入=now()显示日期在单元格内输入=choose(weekday(i3,2),"星期一","星期二","星期三","星期四","星期五","星期六","星期日")显示星期几excel常用函数大全.隔行颜色效果(奇数行颜色):=mod(Row(),2)=12.隔行颜色效果(偶数行颜色):=mod(Row(),2)=03.如果希望设置格式为每3行应用一次底纹,可以使用公式:=mod(Row(),3)=14.如果希望设置奇偶列不同底纹,只要把公式中的Row()改为column()即可,如:=mod(column(),2)5.如果希望设置国际象棋棋盘式底纹(白色+自定义色):=mod(Row()+column(),2)说明:该条件格式的公式用于判断行号与列号之和除以2的余数是否为0。
如果为0,说明行数与列数的奇偶性相同,则填充单元格为指定色,否则就不填充。
在条件格式中,公式结果返回一个数字时,非0数字即为tRue,0和错误值为False。
因此,上面的公式也可以写为:=mod(Row()+column(),2)06.如果希望设置国际象棋棋盘式底纹(自定义色+自定义色):加入样式2:=mod(Row()+column(),2)=0二。
用颜色进行筛选excel20xx可以按单元格颜色、字体颜色或图标进行排序。
如果是excel20xx,需要添加辅助列,用定义名称的方法得到对应的颜色号,然后对辅助列进行排序:颜色单元格在a列,选中b1,插入->名称->定义,输入a,下面输入公式=get.cell(24,$a1),此法可得到字体色的序列号。
VB功能模块:最全的VB操作网页功能模块
VB功能模块:最全的VB操作网页功能模块Public Function HtmlStr$(URL$) '提取网页源码函数Dim XmlHttpSet XmlHttp = CreateObject("Microsoft.XMLHTTP")XmlHttp.Open "GET", URL, FalseXmlHttp.SendIf XmlHttp.ReadyState = 4 Then HtmlStr =StrConv(XmlHttp.Responsebody,vbUnicode)End Function2.函数调用:Dim strweb1 As Stringstrweb1=HtmlStr("http://www.baidu.c om")二、获取WebBrowser控件中网页源代码1.函数代码:Public Function WebDaima(WebBrowser, BuFen) '获取WebBrowser控件中网页源代码Select Case BuFenCase "Body" '只获取<body>与</body>之间的代码WebDaima = WebBrowser.Document.body.innerhtmlCase "All" '获取整个网页源代码WebDaima =WebBrowser.Document.documentelement.outerhtmlCase ElseWebDaima =WebBrowser.Document.documentelement.outerhtmlEnd SelectEnd Function2.调用Dim strweb As Stringstrweb=WebDaima(frmIndex.WebBrowser1,"All") '获取整个网页源代码strweb=WebDaima(frmIndex.WebBrowser1,"Body") '只获取body中源代码三、提取字符串或网页源代码中指定的资源(可利用这一函数做文章采集器)1.函数代码:Public Function FindStrMulti$(Strall$,FirstStr$, EndStr$, SplitStr$) '提取字符串或网页源代码中所有指定代码'参数'总文本,起始字符串,终止字符串,分隔符Dim i&, j&j = 1Doi = InStr(j, Strall, FirstStr)If i = 0 ThenExit DoEnd Ifi = i + Len(FirstStr)j = InStr(i, Strall, EndStr)If j > 0 ThenFindStrMulti = IIf(Len(FindStrMulti) > 0, FindStrMulti & SplitStr, "") & Mid(Strall,i, j - i)ElseExit DoEnd IfLoopEnd Function2.函数调用截取字符串中的内容Dim str1 As StringDim str2 As Stringstr1 = "<table><tr><td>要截取的内容</td></tr></table>"str2 = FindStrMulti(str1, "<td>", "</td>", "")MsgBox str2'此时str2的值就为要截取的内容文章列表标题链接采集实例网页代码<DIV id=content><SPAN class=navbar><STRONG><Ahref="/blog/">博客首页</A> > 文章列表</STRONG></SPAN><TABLE class=content_tablewidth="100%"><TBODY><TR><TD><H1>比目鱼博客文章列表</H1><P><UL><LI><SPAN class=list-category>[文坛张望]</SPAN> <A class=list-title href="/blog/archives/119491210.shtml"> <STRONG>谁会拿下2010年的诺贝尔文学奖?</STRONG></A> <SPAN class=list-date>(2010-10-01 22:38)</SPAN></LI> <LI><SPAN class=list-category>[视觉训练]</SPAN> <A class=list-title href="/blog/archives/119247165.shtml"> <STRONG>书法练习二幅</STRONG></A> <SPAN class=list-date>(2010-09-29 01:51)</SPAN> </LI><LI><SPAN class=list-category>[文坛张望]</SPAN> <A class=list-title href="/blog/archives/118604217.shtml"> <STRONG>骆以军对话董启章</STRONG></A> <SPAN class=list-date>(2010-09-21 17:15)</SPAN> </LI> <LI><SPAN class=list-category>[视觉训练]</SPAN> <A class=list-title href="/blog/archives/118206492.shtml"> <STRONG>夜临古画(六)</STRONG></A><SPAN class=list-date>(2010-09-17 01:46)</SPAN> </LI> <LI><SPAN class=list-category>[我也读书]</SPAN> <A class=list-title href="/blog/archives/117345094.shtml"> <STRONG>Jennifer Egan 的《A Visit From the Goon Squad》</STRONG></A> <SPAN class=list-date>(2010-09-07 02:30)</SPAN> </LI><LI><SPAN class=list-category>[我也读书]</SPAN> <A class=list-title href="/blog/archives/116446375.shtml"> <STRONG>当我们谈论电子书的时候我们在谈论电子书阅读器</STRONG></A> <SPAN class=list-date>(2010-08-27 16:51)</SPAN> </LI><LI><SPAN class=list-category>[IT互联网]</SPAN> <A class=list-title href="/blog/archives/116133972.shtml"> <STRONG>“读写人”和“比目鱼”网站的手机版</STRONG></A> <SPAN class=list-date>(2010-08-2402:04)</SPAN> </LI></UL><P></P><P align=center><P align=center><STRONG>1 <A href="/blog/list_all_2.shtml">2</A> <A href="/blog/list_all_3.shtml">3</A> <A href="/blog/list_all_4.shtml">4</A> <A href="/blog/list_all_5.shtml">5</A> <Ahref="/blog/list_all_6.shtml">6</A> <Ahref="/blog/list_all_7.shtml">7</A> <Ahref="/blog/list_all_8.shtml">8</A> <Ahref="/blog/list_all_2.shtml">>></A></STRONG></P><P></P></TD></TR></TBODY></TABLE><P> </P></DIV><!-- END CONTENT--><!-- BEGIN SITEBAR --><DIV id=sidebar><P>从以上代码中获取<ul>与</ul>之间所有文章的标题链接,实现方法如下:Dim strWeb As StringDim i As IntegerDim strListArea As StringDim strLink '定义存放列表文章链接的数组strWeb =WebDaima(Me.WebBrowser1, "Body") '获取网页body代码(具体查看WebDaima函数)strListArea = FindStrMulti(strWeb,"<H1>比目鱼博客文章列表</H1>","</UL>", "") '截列表区域代码'获取列表区域中文章链接,并存在在数组strLink中strLink = Split(FindStrMulti(strListArea,"href=" & Chr(34), Chr(34) &"><STRONG>", vbCrLf), vbCrLf)For i = 0 To UBound(strLink) '循环输出链接Text1.Text = Text1.Text & strLink(i) & vbCrLfNext i四、中文汉字转化为URL编码函数代码:'以下两个函数用于将文字转化为UTF8或GBK编码:(如在百度中搜索内容时,百度先将搜索词转化为UTF8的编码,再传送给服务器)'调用:'KeyWordUtf = UTF8EncodeURI(KeyWord) 或 KeyWordUtf= GBKEncodeURI(KeyWord)Public Function UTF8EncodeURI(szInput)Dim wch, uch, szRetDim XDim nAsc, nAsc2, nAsc3If szInput = "" ThenUTF8EncodeURI = szInputExit FunctionEnd IfFor X = 1 To Len(szInput)wch = Mid(szInput, X, 1)nAsc = AscW(wch)If nAsc < 0 Then nAsc = nAsc + 65536If (nAsc And &HFF80) = 0 ThenszRet = szRet & wchElseIf (nAsc And &HF000) = 0 Thenuch = "%" & Hex(((nAsc \ 2 ^ 6)) Or &HC0) & Hex(nAsc And &H3F Or &H80) szRet = szRet & uchElseuch = "%" & Hex((nAsc \ 2 ^ 12) Or &HE0) & "%" & _Hex((nAsc \ 2 ^ 6) And &H3F Or &H80) & "%" & _Hex(nAsc And &H3F Or &H80)szRet = szRet & uchEnd IfEnd IfNextUTF8EncodeURI = szRetEnd FunctionPublic Function GBKEncodeURI(szInput)Dim i As LongDim X() As ByteDim szRet As StringszRet = ""X = StrConv(szInput, vbFromUnicode)For i = LBound(X) To UBound(X)szRet = szRet & "%" & Hex(X(i))NextGBKEncodeURI = szRetEnd Function函数调用:MsgBox UTF8EncodeURI("中文汉字")MsgBox GBKEncodeURI("中文汉字")五、获取网页中的验证码函数代码:Public Function GetImg(WebBrowser, Img, sxz)'参数'WebBrowser:等获取验证码网页所在的WebBrowser控件'Img:显示验证码的Image控件'sxz:网页中验证码相应属性的属性值Dim CtrlRange, xFor Each x In WebBrowser.Document.AllIf UCase(x.tagName) = "IMG" Then'x.src为验证码图片的属性,也可是其他属性如 x.onload等If InStr(x.src,sxz) > 0 ThenSet CtrlRange = WebBrowser.Document.body.createControlRange()CtrlRange.Add (x)CtrlRange.execCommand ("Copy")Debug.Print "Copy"Img.Picture = Clipboard.GetDataEnd IfEnd IfNextEnd Function函数调用:'如获取网页中的验证码图片代码如下:'<IMG id=valiCode style="CURSOR: pointer" alt=验证码src="/VerifyCode_Login.aspx" border=0>'获取验证码函数调用如下:Call GetImg(Form1.WebBrowser1, Form1.Image1, "VerifyCode_Login.aspx") 六、WebBrowser控件中网页按钮的点击'<BUTTON id="WordSearchBtn"class="btn">查询</button>'此按钮的点击方法WebBrowser1.Document.getelements bytagname("BUTTON")("WordSearchBtn").Click七、WebBrowser控件中网页文本框的赋值'文本框代码:<input id="WordInput"maxlength="40" type="text" />WebBrowser1.Document.getelements bytagname("input")("WordInput").Value ="要在文本框输入的文字"'此处WordInput为文本框的ID或Name 属性值八、WebBrowser控件中网页列表/菜单表单选项的选取函数代码Public Function SelectXq(WebBrowser, SelectName, SelectValue)'参数'WebBrowser:WebBrowser控件名称'SelectName:网页中列表/菜单表单名称或ID值'SelectValue:选中值WebBrowser.doc.All.Item(SelectName ).Value = SelectValueEnd Function函数调用方法:WebBrowser中网页Select表单代码如下:<SELECTid=ctl00_ContentPlaceHolder1_DropDownList1name=ctl00$ContentPlaceHolder1$DropDownList1> <OPTION value=我就读的第一所学校的名称? selected>我就读的第一所学校的名称?</OPTION> <OPTIONvalue=我最喜欢的休闲运动是什么?>我最喜欢的休闲运动是什么?</OPTION><OPTION value=我最喜欢的运动员是谁?>我最喜欢的运动员是谁?</OPTION><OPTION value=我最喜欢的物品的名称?>我最喜欢的物品的名称?</OPTION><OPTION value=我最喜欢的歌曲?>我最喜欢的歌曲?</OPTION> <OPTION value=我最喜欢的食物?>我最喜欢的食物?</OPTION> <OPTION value=我最爱的人的名字?>我最爱的人的名字?</OPTION><OPTION value=我最爱的电影?>我最爱的电影?</OPTION> <OPTION value=我妈妈的生日?>我妈妈的生日?</OPTION></SELECT>'让列表表单选中选项值为我最爱的人的名字的选项Call SelectXq(Form1.WebBrowser1, "ctl00_ContentPlaceHolder1_DropDownList1", "我最爱的人的名字?")八、自动填写注册表单并提交网页表单代码<form method="POST" action="re sult.asp"><p>请填写下面表单注册(*项为必添项)</p><p>*姓名<input type="text" name="Name" size="20"></p><p>*男<input type="radio" value="V1" name="R1"></p><p>*女<input type="radio" value="V1" name="R2"></p><p>*昵称<input type="text" name="NickName"size="20"></p><p>*兴趣爱好<select name="aihao"><option value="计算机">计算机</option><option value="游戏">游戏</option><option value="逛街">逛街</option></select></p><p>电子邮件<input type="text" name="EMail" size="20"></p><p>*密码<input type="password" name="Password" size="20"></p><p><input type="submit" value="提交" name="B1"><input type="reset" value="全部重写" name="B2"></p></form>填写表单并提交操作代码Private Sub Form_Load()WebBrowser1.Navigate2 App.Path & "\test.htm"End SubPrivate Sub WebBrowser1_DocumentComplete(ByValpDisp As Object, URL As Variant)Dim vDoc, vTagDim i As IntegerSet vDoc = WebBrowser1.DocumentList1.ClearFor i = 0 To vDoc.All.length - 1If UCase(vDoc.All(i).tagName) = "INPUT" Or UCase(vDoc.All(i).tagName) = "SELECT" ThenSet vTag = vDoc.All(i)If vTag.Type = "text" Or vTag.Type = "password" Or vT ag.Type = "radio" Or = "aihao" ThenList1.AddItem Select Case Case "Name"vTag.Value = "IMGod"Case "R2"vTag.Checked = TrueCase "NickName"vTag.Value = "IMGod"Case "aihao"vTag.Value = "逛街"Case "Password"vTag.Value = "IMGodpass"Case "EMail"vTag.Value="******************"End SelectElseIf vTag.Type = "submit" ThenvTag.ClickEnd IfEnd IfNext iEnd Sub九、限制WebBrowser控件中网页的所有链接在同一个窗口打开Private Sub Form_Load()WebBrowser1.Navigate ("/tool")End SubPrivate SubWebBrowser1_NewWindow2(ppDisp AsObject, Cancel As Boolean)Cancel = TrueWebBrowser1.NavigateWebBrowser1.Document.activeelement.hrefEnd Sub十、控件WebBrowser控件中网页弹窗或新窗口打开的链接在另一个WebBrowser控件中打开Private SubWebBrowser1_NewWindow2(ppDisp AsObject, Cancel As Boolean)Set ppDisp = WebPageAd.ObjectEnd Sub十一、禁止WebBrowser控件中网页弹窗Private Sub WebBrowser1_NewWindow2(ppDisp As Object, Cancel As Boolean)Cancel = TrueEnd Sub。
利用excelVBA进行自动化数据分析,数据汇总,网页表单自动提交等功能
利用excelVBA进行自动化数据分析,数据汇总,网页表单自动提交等功能利用excel VBA进行自动化数据分析,数据汇总,网页表单自动提交等功能在制造业公司的生产管理,经营管理,采购管理,财务管理等工作中,都有大量的数据处理的任务,通过繁复的excel手工运算获取结果。
通过员工培训和自我提升,掌握和使用excel数组公式和VBA自动化,能为员工节省巨大的时间和精力,提高工作附加值。
同时作为公司效率化和系统化改善的一部分,为公司效益带来显著提升。
以下通过一些案例,展示利用excel公式和VBA进行自动化数据分析,数据汇总,网页表单自动提交在实际场景中的典型应用。
相关的文件和代码可以在github下载。
•自动化数据分析以下是通过VBA自动化数据分析来计算预计在手和在途库存的流程。
以下是预计在手和在途库存的代码。
Sub 预计在手和在途()'' 预计在手和在途宏'SCH_IDITEM_NO (7)SCH_IDITEM_NO (11)SCH_IDITEM_NO (21)P = ActiveWorkbook.PathColumns("C:C").SelectSelection.Insert Shift:=xlT oRight, CopyOrigin:=xlFormatFromLeftOrAboveRange("C1").SelectActiveCell.FormulaR1C1 = "=RC[-2]&RC[-1]"Range("C1").SelectSelection.AutoFill Destination:=Range("C1:C138750")Columns("C:C").SelectSelection.CopySelection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _:=False, Transpose:=FalseFor Each cel In Range("c2:c160000")If IsNumeric(cel) And cel <> "" Thencel.Value = Val(cel.Value)End IfNextRange("A1").SelectRange(Selection, Selection.End(xlDown)).SelectRange(Selection, Selection.End(xlToRight)).SelectSelection.CopyWorkbooks.Open ("C:\Users\5106002125\Desktop\企划管理\静态参考资料\套用公式\在库试算.xlsx")Sheets.Add After:=Sheets(Sheets.Count)Range("A1").SelectSelection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _:=False, Transpose:=FalseRows("1:1").SelectSelection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAboveSheets("7").SelectedRange.SelectSelection.ClearSheets("11").SelectedRange.SelectSelection.ClearSheets("21").SelectedRange.SelectSelection.ClearSet book1 = Workbooks.Open("C:\Users\5106002125\Desktop\企划管理\过期\7.csv")Set book2 = Workbooks.Open("C:\Users\5106002125\Desktop\企划管理\过期\11.csv")Set book3 = Workbooks.Open("C:\Users\5106002125\Desktop\企划管理\过期\21.csv")Windows("7.csv").ActivateRange("A1").SelectRange(Selection, Selection.End(xlDown)).SelectRange(Selection, Selection.End(xlToRight)).SelectSelection.CopyWindows("在库试算.xlsx").ActivateSheets("7").SelectRange("A1").SelectActiveSheet.PasteWindows("11.csv").ActivateRange("A1").SelectRange(Selection, Selection.End(xlDown)).SelectRange(Selection, Selection.End(xlToRight)).SelectSelection.CopyWindows("在库试算.xlsx").ActivateSheets("11").SelectRange("A1").SelectActiveSheet.PasteWindows("21.csv").ActivateRange("A1").SelectRange(Selection, Selection.End(xlDown)).SelectRange(Selection, Selection.End(xlToRight)).SelectSelection.CopyWindows("在库试算.xlsx").ActivateSheets("21").SelectRange("A1").SelectActiveSheet.PasteFor col = 20 To 41Sheets("公式").SelectRange(Cells(2, col), Cells(3, col)).SelectApplication.CutCopyMode = FalseSelection.CopySheets("Sheet2").SelectRange(Cells(2, col), Cells(3, col)).SelectSelection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _SkipBlanks:=False, Transpose:=FalseRange(Cells(3, col), Cells(3, col)).SelectApplication.CutCopyMode = FalseSelection.AutoFill Destination:=Range(Cells(3, col), Cells(200000, col))Range(Cells(3, col), Cells(200000, col)).CopySelection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _:=False, Transpose:=FalseNextSheets("公式").SelectRange(Cells(1, 1), Cells(1, 41)).SelectApplication.CutCopyMode = FalseSelection.CopySheets("Sheet2").SelectRange(Cells(1, 1), Cells(1, 41)).SelectSelection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _SkipBlanks:=False, Transpose:=FalseDim r As IntegerRange("a2").SelectSelection.End(xlDown).Selectr = Selection.rowRange(Cells(1, 1), Cells(r, 41)).CopyWorkbooks.AddSelection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, SkipBlanks _:=False, Transpose:=FalseApplication.CutCopyMode = FalseRange("AC1:AO1").Style = "Comma"Range("AM2:AO2").SelectRange("AO2").ActivateRange(Selection, Selection.End(xlDown)).SelectSheets.AddActiveWorkbook.PivotCaches.Create(SourceType:=xlDataba se, SourceData:= _"Sheet1!R2C39:R138210C41",Version:=xlPivotTableVersion14).CreatePivotTable _TableDestination:="Sheet4!R3C1", TableName:="数据透视表1", DefaultVersion:= _xlPivotTableVersion14Sheets("Sheet4").SelectCells(3, 1).SelectWith ActiveSheet.PivotTables("数据透视表1").PivotFields("库位2").Orientation = xlRowField.Position = 1End WithActiveSheet.PivotT ables("数据透视表1").AddDataField ActiveSheet.PivotT ables("数据透视表1" _).PivotFields("在手"), "求和项:在手", xlSumActiveSheet.PivotT ables("数据透视表1").AddDataField ActiveSheet.PivotT ables("数据透视表1" _).PivotFields("在途"), "计数项:在途", xlCountWith ActiveSheet.PivotTables("数据透视表1").PivotFields("计数项:在途").Caption = "求和项:在途".Function = xlSumEnd WithCells.SelectSelection.Style = "Comma"ActiveWorkbook.SaveAs Filename:=P & "\在库试算结果" & ".xlsx", FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False book1.Close savechanges:=Truebook2.Close savechanges:=Truebook3.Close savechanges:=TrueEnd SubFunction SCH_IDITEM_NO(n)'' SCH_IDITEM_NO 宏''p1 = ActiveWorkbook.PathWorkbooks.Open (p1 & "\" & n & ".csv")Columns("C:C").SelectSelection.Insert Shift:=xlT oRight, CopyOrigin:=xlFormatFromLeftOrAboveRange("C1").SelectActiveCell.FormulaR1C1 = "=RC[-2]&RC[-1]"Range("C1").SelectSelection.AutoFill Destination:=Range("C1:C138750")Columns("C:C").SelectSelection.CopySelection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _:=False, Transpose:=FalseFor Each cel In Range("c2:c160000")If IsNumeric(cel) And cel <> "" Thencel.Value = Val(cel.Value)End IfNextActiveWorkbook.SaveAsFilename:="C:\Users\5106002125\Desktop\企划管理\过期\" & , FileFormat:=xlOpenXMLWorkbook, CreateBackup:=FalseActiveWorkbook.CloseEnd Function以下是通过VBA自动化计算实际在库金额的代码,比预计在手和在途库存的流程简单。
VBA实现自动化填报与表格生成
VBA实现自动化填报与表格生成随着大数据时代的到来,数据的输入和分析成为了各行业中不可或缺的一部分。
在日常工作中,我们经常需要手动填写表格、生成报表和进行数据分析,这种重复繁琐的工作不仅效率低下,还容易出现错误。
为了提高工作效率和减少错误率,我们可以利用VBA(Visual Basic for Applications)实现自动化填报与表格生成,从而大大减少人工操作的时间和精力。
首先,让我们简单介绍一下VBA。
VBA 是一种基于Microsoft Visual Basic 编程语言的宏语言,可以与 Microsoft Office 应用程序(如Excel、Word和PowerPoint)进行交互。
借助VBA,我们可以通过编写宏代码来执行各种自动化任务,包括自动填写表格、生成报表和数据分析等。
在实现自动化填报方面,我们可以编写 VBA 代码来模拟人工输入的过程。
比如,我们可以通过读取外部数据源(如数据库、文本文件或其他 Excel 文件)来获取所需数据,然后将数据自动填充到相应的表格中。
为了保证数据的准确性,我们可以添加数据验证规则,确保输入的数据符合预定的格式和要求。
除了填报数据,我们还可以使用 VBA 自动生成各种报表。
通过编写VBA 代码,我们可以实现根据一定的条件筛选数据、进行数据计算和统计,并将结果以图表或表格的形式呈现出来。
这样,我们就可以根据实际需要自动生成各种报表,大大提高了数据分析和决策的效率。
VBA 的强大之处还在于它可与其他应用程序进行交互。
通过VBA,我们可以实现不同应用程序之间的数据互通。
例如,在 Excel 中,我们可以通过 VBA 代码连接到数据库并实现数据的读取和更新;在 Word 中,我们可以通过 VBA 代码自动生成标准的合同文档;在 PowerPoint 中,我们可以通过 VBA代码自动创建幻灯片并插入数据等。
这种跨应用程序的数据交互和自动化操作大大提高了工作效率和数据的准确性。
vb自制网页浏览器
自制网页浏览器1、新建一个工程,将Form1的Caption属性设置为“小叮当的浏览器”。
2、然后右击工具箱并选中“Microsoft Internet Controls”控件将其添加到工具箱中。
这时工具箱中会多了一个地球图标,这所代表的控件就是WebBrowser。
3、将WebBrowser控件放置到Form1窗口中,由于在运行程序之后无法调整这个控件的大小,所以应该根据窗口的大小来调整它的大小,使其能够覆盖到大部分窗口区域。
4、在Form1窗口中添加1个CommandButton控件,将它的Caption属性分别设置为“打开文件”。
5、在Form1窗口中添加一个Common Dialpg控件,用于选择本地硬盘中的H TML文件。
6、添加一个ComboBox控件,用来输入和显示网页地址。
7、右击工具箱并将Microsoft Windows Common Control控件添加到工具箱中,接着添加一个StatusBar控件和一个ProgressBar控件。
所有控件添加完成之后如图所示。
接着我们来看看程序的代码部分:1、双击Form1窗口,并输入下列代码:Private Sub Form_Load()Combo1.Text = ""Combo1.Top = 0/设置URL地址栏起始位置Combo1.Left = 0WebBrowser1.Top = Combo1.Top +Combo1.Height/设置页面浏览区位置WebBrowser1.Left = 0Form_ResizeStatusBar1.Style = sbrSimpleProgressBar1.ZorderEnd Sub2、选择Form1的“Resize”并输入下列代码:Private Sub Form_Resize()On Error GoTo aCombo1.Width = Form1.Width -100/URL地址栏宽度随窗口大小调整而变化WebBrowser1.Width = Combo1.WidthWebBrowser1.Height = Form1.Height -Combo1.Height -1000/浏览器高度随窗口大小调整而变化ProgressBar1.Top = Me.Height -StatusBar1.Height -330/进程ProgressBar1.Left = 0.25 * StatusBar1.WidthProgressBar1.Width = 0.75 * Me.Width -250a:End Sub3、双击Combo1控件,并输入下列代码:Private Sub Combo1_Click()WebBrowser1.Navigate Combo1.Text/打开指定网址End Sub4、选择Combo1控件的“KeyDown”并输入下列代码:Private Sub Combo1_KeyDown(KeyCode As Integer, Shift As Integer)Dim I As LongDim existed As BooleanIf KeyCode = 13 ThenIf Left(Combo1.Text, 7) <> "http://"Then/如果输入网址不是以“http://”开头则自动添加Combo1.Text = "http://"+Combo1.TextEnd IfWebBrowser1.Navigate Combo1.Text/URL地址栏保存的网站地址For I = 0 To Combo1.ListCount -1If Combo1.List(I) = Combo1.Text Thenexisted = TrueExit ForElseexisted = FalseEnd IfNextIf Not existed ThenCombo1.AddItem (Combo1.Text)/如果输入新的网站则自动保存End IfEnd IfEnd Sub5、选择WebBrowser1控件的“DownloadBegin”事件并输入下列代码:Private Sub WebBrowser1_DownloadBegin()StatusBar1.SimpleText = "载入中…"/下载开始时状态栏显示“载入中…”End Sub6、选择WebBrowser1控件的“DownloadComplete”事件并输入下列代码:Private Sub WebBrowser1_DownloadComplete()StatusBar1.SimpleText = "下载完成"/下载完成时状态栏显示“下载完成”ProgressBar1.Value = 0End Sub7、选择WebBrowser1控件的“ProgressChange”事件并输入下列代码:Private Sub WebBrowser1_ProgressChange(ByVal Progress As Long,ByVal Pro gressMax As Long)If ProgressMax = 0 Then Exit Sub/下载进行时进度条变化ProgressBar1.Max = ProgressMaxIf Progress <> -1 And Progress <= ProgressMax ThenProgressBar1.Value = ProgressEnd IfEnd Sub8、选择WebBrowser1控件的“TitleChange”事件并输入下列代码:Private Sub WebBrowser1_TitleChange(ByVal Text As String)Combo1.Text = WebBrowser1.LocationURLEnd Sub9、双击CommandButton1控件并输入下列代码:Private Sub Command1_Click()CommonDialog1.ShowOpen/激活打开文件对话框选择文件WebBrowser1.Navigate CommonDialog1.FileNameEnd Sub。
VBA在网页自动化操作中的技巧
VBA在网页自动化操作中的技巧随着互联网的迅猛发展,网页自动化操作变得越来越重要。
VBA(Visual Basic for Applications)是一种用于Microsoft Office套件的编程语言,可以通过使用VBA来实现网页自动化操作。
本文将向您介绍使用VBA在网页自动化操作中的一些技巧。
1. 使用VBA中的IE对象在VBA中,您可以使用IE对象来操作Internet Explorer浏览器。
首先,您需要在VBA编辑器中启用“Microsoft Internet Controls”引用。
然后,您可以创建一个IE对象,并使用其属性和方法来控制浏览器。
例如,您可以使用IE对象的Navigate方法来加载网页,使用它的Document属性来访问网页的DOM结构,以及使用它的Quit方法来关闭浏览器。
2. 通过VBA自动填写表单在网页上填写表单是一项常见的任务,使用VBA可以自动化此过程。
通过使用IE对象的Document属性,您可以访问表单的各个元素,并使用其Value属性来设置值。
例如,您可以使用以下代码将一个文本框的值设置为“John”:```IE.Document.getElementById("txtName").Value = "John"```您可以根据需要修改代码,以适应不同的表单和元素。
3. 使用VBA自动点击按钮在网页上点击按钮是另一个常见的任务,使用VBA可以实现自动化。
通过使用IE对象的Document属性,您可以找到要点击的按钮元素,并使用其Click方法来模拟点击操作。
例如,以下代码将点击一个名为“btnSubmit”的按钮:```IE.Document.getElementById("btnSubmit").Click```您可以根据实际情况调整代码,找到适合的按钮元素,并通过Click方法触发按钮点击。
VBA实现自动填充的技巧与实例解析
VBA实现自动填充的技巧与实例解析自动填充是一项非常常见且实用的功能,在处理大量数据时能够极大地提高工作效率。
VBA(Visual Basic for Applications)是一种用于自动化任务和定制化Microsoft Office应用程序的编程语言。
通过结合VBA和自动填充的功能,我们可以在Excel中实现各种自动化的数据处理任务。
本文将介绍几种VBA实现自动填充的技巧,并提供一些实例解析,以帮助读者更好地理解和应用这些技巧。
1. 使用VBA的FillDown方法VBA的FillDown方法是一种简单且直接的实现自动填充的方式。
该方法可以用于在某列或行中自动填充数据,实现数据的重复、连续或递增填充。
下面是一个实例解析:假设我们有一个Excel表格,其中A列包含一些数据,我们想要将这些数据填充到B列中。
首先,在VBA编辑器中插入一个新的模块,然后编写以下代码:```VBASub AutoFill()Range("A1").SelectSelection.AutoFill Destination:=Range("A1:A10"), Type:=xlFillDefaultEnd Sub```上述代码中,我们首先选择了A1单元格作为填充的起始点,然后使用AutoFill方法将数据填充到A1:A10范围内。
2. 使用VBA的Range对象和FormulaR1C1属性VBA的Range对象和FormulaR1C1属性可以结合使用,以实现更为灵活的自动填充功能。
使用这种方法,我们可以通过编写公式,自动填充特定模式的数据。
下面是一个实例解析:假设我们有一个Excel表格,其中第一行是标题,我们想要在第二行开始的每一行中填充一个递增的序号。
首先,在VBA编辑器中插入一个新的模块,然后编写以下代码:```VBASub AutoFill()Dim LastRow As LongLastRow = Range("A" & Rows.Count).End(xlUp).RowRange("A2:A" & LastRow).FormulaR1C1 = "=ROW()-1"End Sub```上述代码中,我们首先通过查找最后一个非空单元格,确定需要填充的范围(从第二行到最后一行)。
VB6.0+Access制作登陆界面超详细讲解(适合新手)
VB6.0+Access制作登陆界⾯超详细讲解(适合新⼿)VB6.0 + Access制作登陆界⾯&超详细讲解&(适合新⼿)前段时间,我也为⽤VB 6.0制作登陆界⾯⽽痛苦,为此,我没少上百度,没少查资料,终于,现在⼤功告成了,现在我也来分享⼀下我的个⼈经验!(在说步骤之前,我要着重强调,要完成本实例,⾸先得进⾏的步骤是“⼯程”——>“引⽤”——> Microsoft ActiveX Data Objects 2.X Library ,即ADO(建议⽤2.6往上))步骤⼀:建⽴数据库要想⽤Access中存放的帐号数据来登陆,肯定要先有存放帐号密码的数据库吧,这⾥假设我们⽤到的数据库为 Test ,其中有⼀张表,叫做 test_info ,表中有两个字段,分别是userID 和 password ,分别存放登陆帐号和密码。
步骤⼆:新建窗体①在VB中,本就有现成的登陆窗体,我们可以直接选择,当然,也可以创建⼀个空⽩的窗体,我们⾃⼰添加内容(即“控件”),然后Caption 属性设置为“登陆”或者“login”,当然,也可以⾃⼰随意添加,主要⽤来让窗⼝显⽰我们希望的标题。
②建⽴登陆界⾯,肯定是想登陆成功后进⼊另⼀个界⾯,因此,我们需要再添加⼀个窗体,⽤来验证登陆是否成功,在这⾥,我们将这个窗体的Name(名称) 属性设为默认的 Form2步骤三:设置窗体⾸先向新建的窗体分别添加两个 Label 控件、两个 TextBox 控件和两个CommandButton,各控件属性如下表:如果想让按下回车就默认选择“确定”按钮,只需将 Command1 的Default 属性更改为 True 即可,设置好后的窗体如下图步骤四:填写代码(最重要的⼀步)说到代码,我想就是⼤家最关切的问题了,那我就具体来说说这个代码吧,⾸先双击窗体,打开代码编辑界⾯,输⼊如下代码:Private Sub Form_Load() ‘此段代码的主要作⽤是当窗体打开时就连接数据库Dim conn As New ADODB.ConnectionDim connectionstring As StringConnectionstring = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & "E:\Test.mdb;Persist Security Info=False" ‘将Data Source 处的路径改为你本机数据库所在路径即可conn.Open connectionstringEnd Sub接着双击“确定”,同样的,输⼊如下代码:Private Sub Command1_Click()Dim sql As StringDim conn As New ADODB.ConnectionDim rs_login As New ADODB.RecordsetIf Trim(Text1.Text) = "" Then ‘检测⽤户名正确与否MsgBox "⽤户名不能为空,请重新输⼊!", vbOkOnly + vbExclamation, "错误"Text1.SetFocusElsesql = "select * from Test where test_info = '" & Text1.Text & "'" rs_login.Open sql, conn, adOpenKeyset, adLockPessimistic If rs_login.EOF = True ThenMsgBox "⽤户名不存在,请重新输⼊!",vbOkOnly + vbExclamation , "错误"Text1 = ""Text1.SetFocusElse ‘检测密码正确与否If Trim(rs_login.Fields(1)) = Trim(Text2) Thenrs_login.CloseUnload MeForm2.ShowElseMsgBox "密码错误,请重新输⼊!", vbOKOnly + vbExclamation, "错误"Text2.SetFocusEnd IfEnd IfEnd IfEnd Sub最后双击“取消”按钮,输⼊如下代码:Private Sub Command2_Click()MsgBox "您已成功退出!", vbOkOnly + vbExclamation, "提⽰"Unload MeEnd Sub如果想加⼊三次输⼊错误就退出的功能,这个倒⽹上找个⼩代码加⼊Command_Click()就⾏了,思路是定义⼀个变量,赋初值为 0 ,错误⼀次,这个变量增加 1 ,如果这个变量等于 3 了,就 Unload Me。
study139comvb网页功能操作
Public Function HtmlStr$(URL$) '提取网页源码函数Dim XmlHttpSet XmlHttp = CreateObject("Microsoft.XMLHTTP")XmlHttp.Open "GET", URL, FalseXmlHttp.SendIf XmlHttp.ReadyState = 4 Then HtmlStr = StrConv(XmlHttp.Responsebody, vbUnicode) End Function2.函数调用:Dim strweb1 As Stringstrweb1=HtmlStr("")二、获取WebBrowser控件中网页源代码1.函数代码:Public Function WebDaima(WebBrowser, BuFen) '获取WebBrowser控件中网页源代码Select Case BuFenCase "Body" '只获取<body>与</body>之间的代码WebDaima = WebBrowser.Document.body.innerhtmlCase "All" '获取整个网页源代码WebDaima = WebBrowser.Document.documentelement.outerhtmlCase ElseWebDaima = WebBrowser.Document.documentelement.outerhtmlEnd SelectEnd Function2.调用Dim strweb As Stringstrweb=WebDaima(frmIndex.WebBrowser1,"All") '获取整个网页源代码strweb=WebDaima(frmIndex.WebBrowser1,"Body") '只获取body中源代码三、提取字符串或网页源代码中指定的资源(可利用这一函数做文章采集器)1.函数代码:Public Function FindStrMulti$(Strall$, FirstStr$, EndStr$, SplitStr$) '提取字符串或网页源代码中所有指定代码'参数'总文本,起始字符串,终止字符串,分隔符Dim i&, j&j = 1Doi = InStr(j, Strall, FirstStr)If i = 0 ThenExit DoEnd Ifi = i + Len(FirstStr)j = InStr(i, Strall, EndStr)If j > 0 ThenFindStrMulti = IIf(Len(FindStrMulti) > 0, FindStrMulti & SplitStr, "") & Mid(Strall, i, j - i)ElseExit DoEnd IfLoopEnd Function2.函数调用截取字符串中的内容Dim str1 As StringDim str2 As Stringstr1 = "<table><tr><td>要截取的内容</td></tr></table>"str2 = FindStrMulti(str1, "<td>", "</td>", "")MsgBox str2'此时str2的值就为要截取的内容文章列表标题链接采集实例网页代码<DIV id=content><SPAN class=navbar><STRONG><A href="/blog/">博客首页</A> > 文章列表</STRONG></SPAN><TABLE class=content_table width="100%"><TBODY><TR><TD><H1>比目鱼博客文章列表</H1><P><UL><LI><SPAN class=list-category>[文坛张望]</SPAN> <A class=list-titlehref="/blog/archives/119491210.shtml"><STRONG>谁会拿下2010年的诺贝尔文学奖?</STRONG></A> <SPAN class=list-date>(2010-10-01 22:38)</SPAN></LI><LI><SPAN class=list-category>[视觉训练]</SPAN> <A class=list-titlehref="/blog/archives/119247165.shtml"><STRONG>书法练习二幅</STRONG></A> <SPANclass=list-date>(2010-09-29 01:51)</SPAN> </LI><LI><SPAN class=list-category>[文坛张望]</SPAN> <A class=list-titlehref="/blog/archives/118604217.shtml"><STRONG>骆以军对话董启章</STRONG></A> <SPANclass=list-date>(2010-09-21 17:15)</SPAN> </LI><LI><SPAN class=list-category>[视觉训练]</SPAN> <A class=list-titlehref="/blog/archives/118206492.shtml"><STRONG>夜临古画(六)</STRONG></A><SPANclass=list-date>(2010-09-17 01:46)</SPAN> </LI><LI><SPAN class=list-category>[我也读书]</SPAN> <A class=list-titlehref="/blog/archives/117345094.shtml"><STRONG>Jennifer Egan 的《A Visit From the Goon Squad》</STRONG></A> <SPAN class=list-date>(2010-09-07 02:30)</SPAN> </LI><LI><SPAN class=list-category>[我也读书]</SPAN> <A class=list-titlehref="/blog/archives/116446375.shtml"><STRONG>当我们谈论电子书的时候我们在谈论电子书阅读器</STRONG></A> <SPAN class=list-date>(2010-08-27 16:51)</SPAN> </LI><LI><SPAN class=list-category>[IT互联网]</SPAN> <A class=list-titlehref="/blog/archives/116133972.shtml"><S TRONG>“读写人”和“比目鱼”网站的手机版</STRONG></A> <SPAN class=list-date>(2010-08-24 02:04)</SPAN> </LI></UL><P></P><P align=center><P align=center><STRONG>1 <A href="/blog/list_all_2.shtml">2</A> <Ahref="/blog/list_all_3.shtml">3</A> <A href="/blog/list_all_4.shtml">4</A> <Ahref="/blog/list_all_5.shtml">5</A> <A href="/blog/list_all_6.shtml">6</A> <Ahref="/blog/list_all_7.shtml">7</A> <A href="/blog/list_all_8.shtml">8</A> <Ahref="/blog/list_all_2.shtml">>></A> </STRONG></P><P></P></TD></TR></TBODY></TABLE><P> </P></DIV><!-- END CONTENT --><!-- BEGIN SITEBAR --><DIV id=sidebar><P>从以上代码中获取<ul>与</ul>之间所有文章的标题链接,实现方法如下:Dim strWeb As StringDim i As IntegerDim strListArea As StringDim strLink '定义存放列表文章链接的数组strWeb = WebDaima(Me.WebBrowser1, "Body") '获取网页body代码(具体查看WebDaima函数) strListArea = FindStrMulti(strWeb, "<H1>比目鱼博客文章列表</H1>", "</UL>", "") '截列表区域代码'获取列表区域中文章链接,并存在在数组strLink中strLink = Split(FindStrMulti(strListArea, "href=" & Chr(34), Chr(34) & "><STRONG>", vbCrLf), vbCrLf) For i = 0 To UBound(strLink) '循环输出链接Text1.Text = Text1.Text & strLink(i) & vbCrLfNext i四、中文汉字转化为URL编码函数代码:'以下两个函数用于将文字转化为UTF8或GBK编码:(如在百度中搜索内容时,百度先将搜索词转化为UTF8的编码,再传送给服务器)'调用:'KeyWordUtf = UTF8EncodeURI(KeyWord) 或KeyWordUtf = GBKEncodeURI(KeyWord)Public Function UTF8EncodeURI(szInput)Dim wch, uch, szRetDim XDim nAsc, nAsc2, nAsc3If szInput = "" ThenUTF8EncodeURI = szInputExit FunctionEnd IfFor X = 1 To Len(szInput)wch = Mid(szInput, X, 1)nAsc = AscW(wch)If nAsc < 0 Then nAsc = nAsc + 65536If (nAsc And &HFF80) = 0 ThenszRet = szRet & wchElseIf (nAsc And &HF000) = 0 Thenuch = "%" & Hex(((nAsc \ 2 ^ 6)) Or &HC0) & Hex(nAsc And &H3F Or &H80) szRet = szRet & uchElseuch = "%" & Hex((nAsc \ 2 ^ 12) Or &HE0) & "%" & _Hex((nAsc \ 2 ^ 6) And &H3F Or &H80) & "%" & _Hex(nAsc And &H3F Or &H80)szRet = szRet & uchEnd IfEnd IfNextUTF8EncodeURI = szRetEnd FunctionPublic Function GBKEncodeURI(szInput)Dim i As LongDim X() As ByteDim szRet As StringszRet = ""X = StrConv(szInput, vbFromUnicode)For i = LBound(X) To UBound(X)szRet = szRet & "%" & Hex(X(i))NextGBKEncodeURI = szRetEnd Function函数调用:MsgBox UTF8EncodeURI("中文汉字")MsgBox GBKEncodeURI("中文汉字")五、获取网页中的验证码函数代码:Public Function GetImg(WebBrowser, Img, sxz)'参数'WebBrowser:等获取验证码网页所在的WebBrowser控件'Img:显示验证码的Image控件'sxz:网页中验证码相应属性的属性值Dim CtrlRange, xFor Each x In WebBrowser.Document.AllIf UCase(x.tagName) = "IMG" Then'x.src为验证码图片的属性,也可是其他属性如x.onload等If InStr(x.src,sxz) > 0 ThenSet CtrlRange = WebBrowser.Document.body.createControlRange()CtrlRange.Add (x)CtrlRange.execCommand ("Copy")Debug.Print "Copy"Img.Picture = Clipboard.GetDataEnd IfEnd IfNextEnd Function函数调用:'如获取网页/login.aspx中的验证码图片代码如下:'<IMG id=valiCode style="CURSOR: pointer" alt=验证码src="/VerifyCode_Login.aspx" border=0> '获取验证码函数调用如下:Call GetImg(Form1.WebBrowser1, Form1.Image1, "VerifyCode_Login.aspx")六、WebBrowser控件中网页按钮的点击'<BUTTON id="WordSearchBtn" class="btn">查询</button>'此按钮的点击方法WebBrowser1.Document.getelementsbytagname("BUTTON")("WordSearchBtn").Click七、WebBrowser控件中网页文本框的赋值'文本框代码:<input id="WordInput" maxlength="40" type="text" />WebBrowser1.Document.getelementsbytagname("input")("WordInput").Value = "要在文本框输入的文字" '此处WordInput为文本框的ID或Name属性值八、WebBrowser控件中网页列表/菜单表单选项的选取函数代码Public Function SelectXq(WebBrowser, SelectName, SelectValue)'参数'WebBrowser:WebBrowser控件名称'SelectName:网页中列表/菜单表单名称或ID值'SelectValue:选中值WebBrowser.doc.All.Item(SelectName).Value = SelectValueEnd Function函数调用方法:WebBrowser中网页Select表单代码如下:<SELECT id=ctl00_ContentPlaceHolder1_DropDownList1name=ctl00$ContentPlaceHolder1$DropDownList1> <OPTION value=我就读的第一所学校的名称?selected>我就读的第一所学校的名称?</OPTION> <OPTION value=我最喜欢的休闲运动是什么?>我最喜欢的休闲运动是什么?</OPTION> <OPTION value=我最喜欢的运动员是谁?>我最喜欢的运动员是谁?</OPTION> <OPTION value=我最喜欢的物品的名称?>我最喜欢的物品的名称?</OPTION><OPTION value=我最喜欢的歌曲?>我最喜欢的歌曲?</OPTION> <OPTION value=我最喜欢的食物?>我最喜欢的食物?</OPTION> <OPTION value=我最爱的人的名字?>我最爱的人的名字?</OPTION> <OPTION value=我最爱的电影?>我最爱的电影?</OPTION> <OPTION value=我妈妈的生日?>我妈妈的生日?</OPTION></SELECT>'让列表表单选中选项值为我最爱的人的名字的选项Call SelectXq(Form1.WebBrowser1, "ctl00_ContentPlaceHolder1_DropDownList1", "我最爱的人的名字?")八、自动填写注册表单并提交网页表单代码<form method="POST" action="result.asp"><p>请填写下面表单注册(*项为必添项)</p><p>*姓名<input type="text" name="Name" size="20"></p><p>*男<input type="radio" value="V1" name="R1"></p><p>*女<input type="radio" value="V1" name="R2"></p><p>*昵称<input type="text" name="NickName" size="20"></p><p>*兴趣爱好<select name="aihao"><option value="计算机">计算机</option><option value="游戏">游戏</option><option value="逛街">逛街</option></select></p><p>电子邮件<input type="text" name="EMail" size="20"></p><p>*密码<input type="password" name="Password" size="20"></p><p><input type="submit" value="提交" name="B1"><input type="reset" value="全部重写" name="B2"></p></form>填写表单并提交操作代码Private Sub Form_Load()WebBrowser1.Navigate2 App.Path & "\test.htm"End SubPrivate Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, URL As Variant)Dim vDoc, vTagDim i As IntegerSet vDoc = WebBrowser1.DocumentList1.ClearFor i = 0 To vDoc.All.length - 1If UCase(vDoc.All(i).tagName) = "INPUT" Or UCase(vDoc.All(i).tagName) = "SELECT" ThenSet vTag = vDoc.All(i)If vTag.Type = "text" Or vTag.Type = "password" Or vTag.Type = "radio" Or = "aihao" ThenList1.AddItem Select Case Case "Name"vTag.Value = "IMGod"Case "R2"vTag.Checked = TrueCase "NickName"vTag.Value = "IMGod"Case "aihao"vTag.Value = "逛街"Case "Password"vTag.Value = "IMGodpass"Case "EMail"vTag.Value = "IMGod@"End SelectElseIf vTag.Type = "submit" ThenvTag.ClickEnd IfEnd IfNext iEnd Sub九、限制WebBrowser控件中网页的所有链接在同一个窗口打开Private Sub Form_Load()WebBrowser1.Navigate ("/tool")End SubPrivate Sub WebBrowser1_NewWindow2(ppDisp As Object, Cancel As Boolean)Cancel = TrueWebBrowser1.Navigate WebBrowser1.Document.activeelement.hrefEnd Sub十、控件WebBrowser控件中网页弹窗或新窗口打开的链接在另一个WebBrowser控件中打开Private Sub WebBrowser1_NewWindow2(ppDisp As Object, Cancel As Boolean)Set ppDisp = WebPageAd.ObjectEnd Sub十一、禁止WebBrowser控件中网页弹窗Private Sub WebBrowser1_NewWindow2(ppDisp As Object, Cancel As Boolean)Cancel = TrueEnd Sub窗体透明控件不透明Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" ( _ByVal hwnd As Long, _ByVal nIndex As Long) As LongPrivate Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" ( _ByVal hwnd As Long, _ByVal nIndex As Long, _ByVal dwNewLong As Long) As LongPrivate Declare Function SetLayeredWindowAttributes Lib "user32" ( _ByVal hwnd As Long, _ByVal crKey As Long, _ByVal bAlpha As Byte, _ByVal dwFlags As Long) As LongPrivate Const GWL_STYLE = (-16)Private Const GWL_EXSTYLE = (-20)Private Const WS_EX_LAYERED = &H80000Private Const LWA_COLORKEY = &H1Private Const LWA_ALPHA = &H2Private Sub Form_Load()Me.BackColor = vbCyanSetWindowLong Me.hwnd, GWL_EXSTYLE, GetWindowLong(Me.hwnd, GWL_EXSTYLE) OrWS_EX_LAYEREDSetLayeredWindowAttributes Me.hwnd, vbCyan, 0&, LWA_COLORKEYEnd Sub图标提取Private Declare Function ExtractIcon Lib "shell32.dll" Alias "ExtractIconA" (ByVal hInst As Long, ByVal lpszExeFileName As String, ByVal nIconIndex As Long) As LongPrivate Declare Function DrawIcon Lib "user32" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long, ByVal hIcon As Long) As LongPrivate Sub Command1_Click()Dim a As Longa = ExtractIcon(App.hInstance, "D:\Program Files\QQ2007\QQ.exe", 0)a = DrawIcon(Picture1.hdc, 0, 0, a)End Sub这个可以显示在Picture1。
网页自动填表基础教程
网页自动填表基础教程一、网页下拉列表的自动填写,怎么实现呢?看看需要实现自动填写的下拉列表吧。
所在地区,首先需要选择省,然后才能选择市。
我们用网页自动操作通用工具实现。
下面我们来讲讲实现步骤。
首先,打开网页自动操作通用工具,在网页自动提交监控操作对话框,点击添加,把下拉表单网址输入进去,点击自动获取,然后点击确定按钮添加网址。
其次,在提交内容选项卡,添加需要提交的省、市下拉框。
我们以自动选择省为例。
点击添加,元素别名命名为省份,获取元素方式选择通过html元素属性获取,点击自动获取,把鼠标放到省份下拉框上,ALT+T键选中,然后添加元素。
这里有四种实现方法,必须通过分析源码来实现。
第一种方法:通过省份对应的value值来实现。
比如我们需要自动选择河南省,河南省对应的value是10。
那我们填写属性选择value,填写值写10.设置填写完2秒后自动触发onchange事件到城市选择项。
按同样的方法设置城市为河南的安阳市。
下面我们看一下自动填写下拉列表为河南省安阳市的效果。
第二种方法:选择selectedndex属性。
河南省为列表的第11项。
第三种方法:选择text文本属性,填写值输入河南。
第四种方法:通过模拟键盘向下选择下拉列表操作,选择keybord属性,河南为列表第11个元素,所以填写值写{Down11}.二、单选框自动填写方法网页上,会经常出现单选框,如果你需要自动点击单选框如下所示,你可以用网页自动操作通用工具的网页自动提交监控操作功能。
下面讲讲实现方法来实现选择学生单选框。
首先,在网页自动提交监控操作界面,网址列表选项卡,点击添加,输入网址,点击自动获取,添加好带有单选框的网页。
其次,在提交内容选项卡,点击添加,获取元素方式选择通过HTML元素属性获取,点击自动获取,鼠标指向学生那个单选框选择获取元素,添加元素。
发现自动添加元素与我们实际要添加的元素不一样。
通过分析源码我们手动设置如下。
网页自动化——VBA和InternetExplorer.Application
⽹页⾃动化——VBA和InternetExplorer.Application⽹页⾃动化——VBA和InternetExplorer.ApplicationVBA⾃动化⽹页的多种⽅式其实并不知道有多少种⽅式,下⾯随便罗列了⼀些:1.WebBrower⽅式2.InternetExplorer.Application⽅式,需要引⼊接⼝:'在VBA编辑器窗⼝依次点击⼯具==引⽤勾选Microsoft Internet Controls 确定,再运⾏,OK!3.XMLHTTP 学习资料如下:链接已死!4.InternetExplorer.Application⽅式创建InternetExplorer.ApplicationSet ie = CreateObject("internetexplorer.application")ie.Visible = True连接InternetExplorer.Application如果能直接链接到已经打开⾄特定⽹页的浏览器,这就可以省略掉许多如登录等⾮重复⼯作的编码⼯作,但愿如此。
1. 或许可使⽤此函数GetObject实现(似乎实现不了)set ie = GetObject(“”, “InternetExplorer.Application”)这条语句并不会链接到已经打开的IE上,⽽是重新打开⼀个IE,更坑的是,它还是隐藏的,是个空⽩页。
2.Win32 API⽅式Function FindWin(ByVal strRef As String) As Object'找寻已打开的、以strRef为开头⽹址的⽹页Dim objWin As ObjectFor Each objWin In CreateObject("Shell.Application").WindowsDo While objWin.readyState <> 4 Or objWin.BusyDoEventsLoopIf LCase(TypeName(objWin.document)) = "htmldocument" ThenIf objWin.LocationURL Like strRef & "*" ThenSet FindWin = objWinExit ForEnd IfEnd IfNextSet objWin = NothingEnd Function3.未知原理⽅式,简洁有效1. 注意的是,此种情况下IE不具有焦点,可以⽤如下语句将其设为活动窗⼝:SetForegroundWindow(IE.HWND)此时由于IE为活动窗⼝,将其上的控件设为具有焦点后,则可接受按键信息item.focusSendKeys "{enter}"点连接出现新选项卡的处理InternetExplorer.Application中没有选择选项卡的功能,或许可以⽤GetObject功能来获得新选项卡中的⽂档?未知。
VB关于webbrowser相关操作大全
VB关于webbrowser相关操作大全百眼通整理VB关于webbrowser相关操作大全一、WebBrowser的方法、属性、事件1.1 WebBrowser的8个方法和13个属性1.2 WebBrowser 的事件Private EventsDescription (描述)(私有活动)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有效或改变时激发。
VB操作网页代码
VB操作网页代码1、防止新窗口里头打开网页代码1:Private Sub WebBrowser1_NewWindow2(ppDisp As Object, Cancel As Boolean)Dim frm As Form1Set frm = New Form1frm.Visible = TrueSet ppDisp = frm.WebBrowser1.objectEnd Sub代码2:有这段代码,有许多网页会出错,经常提示脚本错误,可以用silent属性为True来屏蔽,不过也有些不足Private Sub WebBrowser1_NewWindow2(ppDisp As Object, Cancel As Boolean)Cancel = TrueWebBrowser1.Navigate2WebBrowser1.Document.activeElement.hrefEnd Sub代码3:Private Sub WebBrowser1_NewWindow2(ppDisp As Object, Cancel As Boolean)On Error Resume NextDim frmWB As Form1Set frmWB = New Form1frmWB.WebBrowser1.RegisterAsBrowser = TrueSet ppDisp = frmWB.WebBrowser1.objectfrmWB.Visible = TruefrmWB.Top = Form1.TopfrmWB.Left = Form1.LeftfrmWB.Width = Form1.WidthfrmWB.Height = Form1.HeightEnd Sub功能差不多,任选一个。
2、去掉滚动条Private Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, URL As Variant)WebBrowser1.Document.Body.Scroll = "no"End Sub实际上上面的效果不咋地,如果懂得HTML知识,你可以在读取网页的时候,读取HTML源码,查找替换,再写入只需在<body> </body> 之间插入代码:<body style= "overflow-x:hidden;overflow-y:hidden "> 即可。
ExcelVBA解读(57):自动填充单元格——AutoFill方法
ExcelVBA解读(57):自动填充单元格——AutoFill方法先看看Excel中是怎么进行自动填充单元格操作的。
如下图所示,在单元格A1中输入数字1,将光标移至A1的左下角,待光标变成黑色实心十字后向下拖至A5单元格。
录制的宏代码如下:这次与上面的操作一样,只是填充完后选取“填充序列”,可以看到单元格A1:A5区域按数字顺序填充了5个单元格。
录制的宏代码如下:从上面的两项操作所录制的宏代码可以看出,VBA使用AutoFill 方法实现自动填充功能。
该方法带有两个参数,即Destination参数和Type参数。
AutoFill方法的语法Range对象.AutoFill(Destination, Type)说明:•参数Destination必需,指定要填充的单元格。
该参数指定的单元格区域中必须包含源单元格区域。
•参数Type可选,指定如何基于源单元格区域中的内容对参数Destination指定的目标单元格区域实施填充,可以是下列XlAutoFillType常量:常量xlFillCopy,值为1,从源单元格区域中复制值和格式到目标单元格区域,如有必要重复。
常量xlFillDays,值为5,扩展源单元格区域中星期几的名称到目标单元格区域,从源单元格区域复制格式到目标单元格区域,如果有必要重复。
常量xlFillDefault,值为0,Excel确定用于填充目标单元格区域的值和格式。
(Excel会依据源区域选择最适当的填充方式,例如,如果源区域为A1:A2,且单元格A1中的值为1,单元格A2中的值为2,那么向下拖动时,会自动填充序列,即1、2、3……)常量xlFillFormats,值为3,仅复制源单元格区域中的格式到目标单元格区域,如有必要重复。
常量xlFillMonths,值为7,将源区域中的月份名称扩展到目标单元格区域,格式也从源区域复制到目标单元格区域,如有必要重复。
常量xlFillSeries,值为2,以系列扩展源区域中的值到目标单元格区域(例如,“1,2”被扩展为“3,4,5”)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
VB制作网页自动填表(强烈推荐)
VB制作简单模拟器教程入门版
第一讲如何用VB编程打开一个网页:
由于是为做模拟器做铺垫,所以就不介绍别的方法,只介绍一种最简单的用webbrowser控件实现(实际是其他的方法我还没有学会)。
下面我们就开始步入模拟器的大门了:
一、先打开VB新建一个工程
二、在工具条上点右键选部件(我用的是中文版VB)或者选工程菜单,点部件
三、找到Microsoft Internet Controls,在前面打挑,然后确认就可以看到在工具条上多出来一个地球样的图标,我们以后的实现就都围绕着他来进行了。
四、添加一个WebBrowser1到Form1中,再添加一个command1到Form1中
五、在Form1中添加如下代码:
'----------开始-----------
Private Sub Command1_Click()
WebBrowser1.Navigate " "
End Sub
Private Sub Form_Load()
WebBrowser1.Navigate " <A href= ' "/ ' target=_blank> [url][/url] ";
End Sub
'----------结束-----------
六、当然就是测试了,点运行按钮,我们可以看到,我们的webbrowser打开了网络人家的主页,然后再点按钮,我们可爱的webbrowser就把我们带到了模拟之家BBS了。
好了,先写这么多,下次我们看一下怎么用webbrowser提交一个含有用户名和密码的网页。
VB制作简单模拟器教程入门版(二)
第二讲如何用VB的webbrowser提交一个含有用户名和密码的网页
上次我们知道了怎样打开一个网页,今天我们就来看看怎样迈开赚钱的第一步。
下面我们就开始迈步了:
一、先打开VB新建一个工程
二、在工具条上点右键选部件(我用的是中文版VB)或者选工程菜单,点部件
三、找到Microsoft Internet Controls,在前面打挑,然后确认就可以看到在工具条上多出来一个地球样的图标,我们以后的实现就都围绕着他来进行了。
四、添加一个WebBrowser1到Form1中,再添加一个command1到Form1中
五、在Form1中添加如下代码:(以上都是我们上一讲里说过的,应该很熟悉了吧)
'----------开始-----------
Private Sub Command1_Click()
Dim vDoc, vTag
Dim i As Integer
Set vDoc = WebBrowser1.Document
For i = 0 To vDoc.All.length - 1 '检测所有标签
If UCase(vDoc.All(i).tagName) = "INPUT " Then '找到input标签
Set vTag = vDoc.All(i)
If vTag.Type = "text " Or vTag.Type = "password " Then '看看是不是我们需要的
Select Case '按标签的名字,对号操做
Case "EMAILADD "
vTag.Value = "[email]myemail@[/email] " '这里写入你的e-mail
Case "PASSWD "
vTag.Value = "password " '这里写入你的密码
End Select
ElseIf vTag.Type = "submit " And = "SUB " And vTag.Value = "订阅" Then
'找到提交按钮
vTag.Select '也可以没有这个
vTag.Click '点击提交了,一切都OK了
End If
End If
Next i
End Sub
Private Sub Form_Load()
WebBrowser1.Navigate " "
End Sub
'----------结束-----------
六、当然就是测试了,点运行按钮,我们可以看到,我们的webbrowser打开了[url][/url],等网页基本下载结束再点command1按钮,我们可爱的webbrowser就把我们刚刚输入的e-mail和密码都提交到网页上了,看到订阅成功了吗?那个就是胜利的标志。
好了,先写这么多,下次我们看一下怎么用webbrowser找到一个网页中的超连接,对应的就是赚钱连接啊。
附录(相关资料):
大家也可以看出来,这次我们是拿[url][/url]上的那个订阅邮件列表开刀,下面就是这段网页的源代码:
<form method= "post " action= "/cgi-bin/ml/client ">
<p align= "center "> <font size= "2 ">
<input type= "hidden " name= "USERID " value= "dhunter ">
E-mail:
<input type= "text " name= "EMAILADD " value= "你的E-mail ">
<br>
密码:
<input type= "password " name= "PASSWD " value= "****** ">
<br>
</font> <font size= "2 ">
<input type= "submit " value= "订阅" name= "SUB ">
<input type= "submit " value= "退订" name= "UNSUB ">
</font> </p>
</form>
里面带input的那些标签都是接受输入的,我们这讲的主要任务就是找到他们,并且对他们进行操做。
VB制作简单模拟器教程入门版(三)
第三讲如何用VB的webbrowser找到一个网页中的超连接
以前我们已经说过了怎样打开一个网页,怎样提交一个网页,今天我们来看看如何找到一个网页中URL等元素。
一、先打开VB新建一个工程
二、在工具条上点右键选部件(我用的是中文版VB)或者选工程菜单,点部件
三、找到Microsoft Internet Controls,在前面打挑,然后确认就可以看到在工具条上多出来一个地球样的图标,我们的实现就都围绕着他来进行了。
四、添加一个WebBrowser1到Form1中,再添加一个command1到Form1中,添加一个list1到form1中(这个list1适当的放宽一点,一会我们把找到的合格URL都放到这个里)
五、在Form1中添加如下代码:(以上都是我们以前说过的,应该很熟悉了吧)
'----------开始-----------
Private Sub Command1_Click()
Dim vTag, vDoc
Dim Allcount, i
List1.Clear
Set vDoc = WebBrowser1.Document.All
Allcount = vDoc.length
For i = 0 To Allcount - 1
If UCase(vDoc.Item(i).TagName) = "A " Then '找到URL
vTag = vDoc.Item(i).href
If InStr(vTag, " ") Then '检测URL中是否含有[url][/url]
List1.AddItem vDoc.Item(i).href '如果有,则添加到list1中
End If
End If
Next i
End Sub
Private Sub Form_Load()
WebBrowser1.Navigate " "
End Sub
'----------结束-----------
六、当然就是测试了,点运行按钮,我们可以看到,我们的webbrowser打开了[url][/url],等网页基本下载结束再点command1按钮,我们可爱的webbrowser就把找到的含有[url][/url]的URL都加入到list1中了。
有了这些我们就可以开始做自己的模拟器了,当然更多的技巧,更多的方法还要靠你来实现。