2016-05-10 8 views
0

コンテキスト:こんにちは。私は問題があります。私の上司は従業員のIDを使ってデータベースから名前を引き出すように頼んだ。データベースへのアクセスがPHPで書かれた書式ではない場合にのみ、それは問題ではありません。 2つ目は、約10kの結果を得なければならないということです。私はこれに必要な時間を計算し、55時間の鈍い作業をしました。そして私は、私と私が接続しようとしているサーバーのいずれかの完璧なパフォーマンスについて語っています。私はvbaが私のためにこれを行うことができれば完璧だと思った。状況は次のとおりです。IDなしの要素を使用してフォームを送信

問題:フォームはイントラネット上のページにあります。ユーザーはIDを入力し、[OK]ボタンをクリックすると、従業員の名前が表示されるテーブルが生成されます(提出前には表示されません)。問題は、「OK」ボタンにIDがないため、GetElementByIdを使用しても問題が解決しないということです。私は何とかフォームを提出する必要があります。誰かが助けてくれますか?

コード:

Sub submitFeedback3() 
    Application.ScreenUpdating = False 
    Dim IE As Object 

    Set IE = New InternetExplorerMedium 
    IE.Visible = True 
    IE.navigate "SomePHP.php" 

    Application.StatusBar = "Submitting" 

    While IE.Busy 
     DoEvents 
    Wend 
    Dim doc As Object 
    Dim formx As Object 
    Set doc = IE.document 

    IE.document.getElementById("search_usrn").Value = "someID" 

    IE.document.all.Item("Ok").Click 

    Application.StatusBar = "Form Submitted" 
    IE.Quit 
    Set IE = Nothing 

    Application.ScreenUpdating = True 
End Sub 

私はIE.documentに時計を設定し、それは構造を明らかにしました。私は送信ボタンを見つけることができましたが、私はそれを引き起こすことができません。それはIE.documentに

た>フォーム>項目1>項目5

これ持ってfolowing私はそれを見つけることができた属性:

outerHTML "INPUT type=submit value=Ok" 
type "submit" 
unique id "ms__id3" 
value "Ok" 

私はトリガすることができ、それが何らかの形でこれらを使用していますか?それとも他の方法がありますか? あなたが私を助けることを願って

答えて

0

私は質問を投稿した後数分を管理することができました。この問題に取り組もうとしている他の人たちのために。送信ボタンは何のIDを持っていない場合は、使用して提出する文書を強制できるだけ

document.forms(numberOfForm).submit 

私はそれを知っていたが、私は悪いことをしました。私の間違いを繰り返さないでください。数字は1ではなく0から始まります。したがって、ページ上のフォームのみの正しい数字は0です。

+0

これは別の質問です。新しいものとして投稿してください。 –

関連する問題