2016-04-23 15 views
0

3列(ユーザー名、パス、コード)のExcelシートがあり、すべての行に対して実行するマクロを作成しています。各行でウェブサイトに移動し、最初の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 

しかし、すべての私の列のデータ、たとえば、列の電子が得る、同じ文字列である:すべての列の

username1 usersame2 username3 

は同じと私が行うことができますので、私は分離することが、その後必要がありますログインとpdfファイルを取得するプロセス

+0

スペースで区切られている場合は、単純な「分割」機能を使用してジョブを実行できます。配列を使って各ユーザ名、パスワードなどを保持することができます。 – 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 
関連する問題