2016-04-23 115 views
0

我有一個Excel列表(3個用戶名,密碼,代碼),我正在創建一個宏來運行每一行。在每一行需要去一個網站,使用前2列登錄該網站,然後導航到該網站的一部分插入代碼(3列)並下載PDF文件Excel VBA代碼登錄

這是迄今爲止創建的代碼

Sub primeira() 
    Set objIE = CreateObject("InternetExplorer.Application") 
    objIE.Top = 0 
    objIE.Left = 0 
    objIE.Width = 800 
    objIE.Height = 600 
    objIE.AddressBar = 0 
    objIE.StatusBar = 0 
    objIE.Toolbar = 0 
    objIE.Visible = True 

    Dim A As Worksheet: Set A = ActiveSheet 
    Dim LastA As Integer: LastA = W.Range("A20").End(xlUp).Row 


    Dim B As Worksheet: Set B = ActiveSheet 
    Dim LastB As Integer: LastB = B.Range("B20").End(xlUp).Row 

    Dim C As Worksheet: Set C = ActiveSheet 
    Dim LastC As Integer: LastB = C.Range("C20").End(xlUp).Row 

    Dim i As Integer 
     For i = 1 To Last 
      username = username & A.Range("A" & i).Value & " " 
      pass = pass & B.Range("B" & i).Value & " " 
      code = code & C.Range("C" & i).Value & "" 

      objIE.Navigate ("www.google.com") 
      Do 
      DoEvents 
    Loop Until objIE.ReadyState = 4 

    'objIE.Document.GetElementByID("lst-ib").Value = username 
    'objIE.Document.GetElementByID().Value = pass 

    Next i 
End Sub 

但是我所有的列數據是在相同的字符串,例如,列A E得到:

username1 usersame2 username3 
所有列

一樣,我需要再進行這樣分開,我可以做登錄和獲取pdf文件的過程

+0

如果它們被一個空格分開,那麼您可以使用一個簡單的'Split'函數來完成這項工作。您可以使用數組來保存每個用戶名,密碼等。 – newguy

+0

'Z.Range'從哪裏來? – Jeeped

+0

更新代碼 – user3704742

回答

0

我覺得你太過於複雜了。當您的3列(用戶名,密碼,代碼)位於活動工作表上時,下面的代碼應該可以解決問題。

Sub primeira() 
Set objIE = CreateObject("InternetExplorer.Application") 
objIE.Top = 0 
objIE.Left = 0 
objIE.Width = 800 
objIE.Height = 600 
objIE.AddressBar = 0 
objIE.StatusBar = 0 
objIE.Toolbar = 0 
objIE.Visible = True  

Dim username As String 
Dim pass As String 
Dim code As String 
Dim i As Integer 

    For i = 1 To ActiveSheet.UsedRange.Rows.Count 
     username = Range("A" & i).Value 
     pass = Range("B" & i).Value 
     code = Range("C" & i).Value 

     objIE.Navigate ("www.google.com") 
     Do 
     DoEvents 
Loop Until objIE.ReadyState = 4 

'objIE.Document.GetElementByID("lst-ib").Value = username 
'objIE.Document.GetElementByID().Value = pass 

Next i 
End Sub