读书人

请帮写下从EXCEL中提取数据后按序依

发布时间: 2012-01-28 22:06:14 作者: rapoo

求助,请帮写下从EXCEL中提取数据后按序依次填写网页的语句!!
需要从EXCELL中提取数据后在WebBrowser中的网页A中输入第一行数据,进行简单的填写后提交,它会变成网页B,在网页B中再点一下某按钮,然后再GoBack到网页A中,进行第一行数据,主要是要循环,我怎么也调试不好,问题多多,大家给指导下
Private Sub Form_Load()
WebBrowser1.Navigate "http://192.168.1.1"
End Sub

Private Sub WebBrowser1_DocumentComplete(ByVal Text As String)
Dim ex As Object
Dim wb As Object
Dim sh As Object

Set ex = CreateObject("Excel.Application")
Set wb = ex.Workbooks.Open("c:\1.xls") '打开你的EXCEL文件
Set sh = wb.Sheets(1) '指定工作表sheets1
For i = 1 To 20
If WebBrowser1.LocationURL = "http://192.168.1.1/" Then
WebBrowser1.Document.getelementbyid("TextBox2").Value = sh.cells(i, 1)
WebBrowser1.Document.getelementbyid("TextBox1").Value = sh.cells(i, 2)
WebBrowser1.Document.getelementbyid("Button1").Click

Else
WebBrowser1.Document.getelementbyid("Button2").Click
WebBrowser1.GoBack
End If
Next

ex.Visible = True
Set ex = Nothing
Set wb = Nothing
Set sh = Nothing
End Sub

这样后,他总是只填写最后一个i=20时的数据,别的不填,并且进程里EXCELL的时程N多(这个我估计是因为每次网页数据下载结束他就打开一个新的EXCELL进程,把打开进程写进FORM——LOAD里它又不运行了,[如果把结束EXCEL进程的语句写在ELSE前,又会出现什么情况?还没试过,发贴时才想起来]),请教下大家,这个读EXCEL数据的句子应该怎么写,最好大家给个例子

[解决办法]
很显然,楼主你还没做好流程设计就急匆匆地投入到编码工作中去了,结果搞得自己比较郁闷.显然你这个功能需求不能都挤在一个函数里实现的!
我先说说你连接Excel的事吧,你这是要通过Webbrowser控件循环提交,不应把连接Excel的代码写在WebBrowser1_DocumentComplete事件中
注意,把fExcelApp定义为模块级的

VB code
Option ExplicitPrivate fExcelApp As ObjectPrivate Sub Form_Load()'WebBrowser1.Navigate "http://192.168.1.1"    Set fExcelApp = ConnectExcelApp()    If (fExcelApp Is Nothing) Then        MsgBox "连接Excel失败,此功能无法正常运行"    End IfEnd Sub'---------------------------------------------------' 过程名    : ConnectExcelApp' 时间      : 2010-3-7 12:10' 作者      : 杨过.网狐.cn' 功能      :' 说明      : 连接失败返回Nothing,成功则返回Excel.Application对象'---------------------------------------------------'Private Function ConnectExcelApp() As Object   On Error GoTo GetObject_Error    Set ConnectExcelApp = GetObject(, "Excel.Application")    On Error GoTo 0    Exit Function   '得到Excel对象,退出GetObject_Error:'   On Error GoTo 0   On Error GoTo CreateObject_Error    Set ConnectExcelApp = CreateObject("Excel.Application")    Exit Function   '得到Excel对象,退出CreateObject_Error:    Set ConnectExcelApp = Nothing'    MsgBox "错误 " & Err.Number & " (" & Err.Description & ") in procedure TestExcelWeb of Form Form1"    End Function
[解决办法]
代码及错误处理的情况已经给你写好,没必要再修改了。不要这个可以,那样代码不够明确,呵呵。

读书人网 >VB

热点推荐