我下从EXCEL中提取数据后按序依次填写网页,出现了一些小问题,来请教下:
Dim ex As Object
Dim wb As Object
Dim sh As Object
Private i As Integer
Private Sub Form_Load()
Set ex = CreateObject("Excel.Application")
Set wb = ex.Workbooks.Open("c:\1.xls")
Set sh = wb.Sheets(1)
WebBrowser1.Navigate "http://A.com"
i = 1
End SubPrivate Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, URL As Variant)
If WebBrowser1.LocationURL = "http://A.com" Then
If i < 21 Then
WebBrowser1.Document.Forms(0).Username.Value = sh.cells(i, 1) '类似句子不写了
esle:  Set ex = Nothing
  Set wb = Nothing
  Set sh = Nothing
Unload Me
End If
End If
If WebBrowser1.LocationURL = "http://B.com" Then
WebBrowser1.GoBack
End If
End Sub
二个问题,一是i>20后form不见了,但EXCEL进程却在增加!WHY??不能用Unload Me??
二是我本意是想其运行到sh.cells(i,1)=""时就结束程序,但若写直接在IF后写就会提示错误,变量未定义,若先用某个定义为sh.cells(i,1)他也会报错,大家说我应该怎么办?
注:引用了EXCEL和HTML object library的

解决方案 »

  1.   

    注明一下:If i < 21 Then   后有个i=i+1写漏了
      

  2.   

    没人理我,自己顶下,Unload Me我再换END试下!
    但是怎么写:如果表sh.cells(i,1)为空则结束程序?????
      

  3.   

    将excel数据一次加到数组里,然后随便你用
      

  4.   

    原来一直没用过END,这次试了下,可以了,但是程序结束后,进程里还是有EXCEL,怎么结束它??
    另:如果表sh.cells(i,1)为空则结束程序,这个句子应该怎么写/?????