2016-05-02 8 views
0

私は、Excelから情報を受け取り、情報をIEのウェブサイト上のテーブルに転送するいくつかのコードに取り組んでいます。これまですべてがうまくいっています。VBA IEの自動化 - 動的テーブルの最後の行を見つける

私は現在、ある時点で立ち往生しており、助けてくれる情報がないようです。

Webサイトに従業員1人あたりにダイナミックなテーブルがあるとします。 「追加」ボタンをクリックすると、情報を転送する空白の行が作成されます。問題は、作成された行がテーブルの最後の行になることです。したがって、行を追加するときは、数値1、数値35などとなります。

ダイナミックIEテーブルの最後の行への参照を設定する方法はありますか?コードが従業員のために機能するように番号を知らなくてもいいですか?

答えて

0

私はあなたが列の要素を配列に変換することについて話していると思います。それはあなたが欲しいものですか?その場合は、これらの2つのスクリプトのいずれかを試してください。

Sub MakeArray() 
    Dim arr As Variant 

    With ActiveSheet 
     arr = WorksheetFunction.Transpose(.Range(.[A1], .Cells(Rows.Count, "A").End(xlUp))) 
    End With 
End Sub 


Sub MakeString() 
    Dim s As String 

    Const DELIMITER = "," 

    With ActiveSheet 
     s = Join(WorksheetFunction.Transpose(.Range(.[A1], .Cells(Rows.Count, "A").End(xlUp))), DELIMITER) 
    End With 
End Sub 
+0

回答ありがとうございますryguy7272。私はそれをExcelからデータを貼り付けることができるように、Webサイト上のテーブルの最後の行を参照できるようにする必要があります。 – CasWalker

+0

私は以下を試しました - LastChildはテーブルの最後の行を取得しようとしていますが、動作しているかどうかはわかりません。 – CasWalker

+0

IE1 .Busyまたは.readyState <> 4:DoEvents:Wend Application.Wait(Now + TimeValue( "0:00:02")) lastrow = IE1.document.frames( "mainParent")を設定します。 document.frames( "main1")。document.frames( "SN")。document.forms( "AgentAppointments")。document.getElementById( "G_GD1")。document.LastChild.document.getElementsByTagName( "td")(0 ) lastrow.fireEvent( "onmouseover") lastrow.fireEvent( "onmousedown") lastrow.fireEvent( "onmouseup") 最後に – CasWalker

関連する問題