私は非常に基本的なスクリプトを用意していますが、Excelスプレッドシートを使ってフォームに入力しています。フィールドにデータを挿入し、各ページの[送信]ボタンをクリックするのを待ちます。次に、ページがロードされるのを待って、次のフィールドのセットを埋めます。私はサブミット、次のページの読み込みなどをクリックします。最後に、最後の2ページで私はスプレッドシートではできない手動入力をしなければなりません。これまでのコードを以下に示します。私は今、そこに持っているものの終わりにExcel VBAを一時停止し、ループ前にユーザーとのやりとりを待つ方法
私の質問があり、、どのように私は私が記入するのを待つシステムを作ることができる最後のページ、その後、私はそれが提出されていることを実感送信するととスプレッドシートの行をインクリメントして、最初からやり直して次の学生のためにもう一度やり直すことができますか?
私はプログラマーではないと言えるでしょう。200人の学生全員に手動でこれらの書式を記入し、あなたが見ているコードの大半を得た音楽教師です。チュートリアル。
Function FillInternetForm()
Dim IE As Object
Set IE = CreateObject("InternetExplorer.Application")
'create new instance of IE. use reference to return current open IE if
'you want to use open IE window. Easiest way I know of is via title bar.
IE.Navigate "https://account.makemusic.com/Account/Create/?ReturnUrl=/OpenId/VerifyGradebookRequest"
'go to web page listed inside quotes
IE.Visible = True
While IE.busy
DoEvents 'wait until IE is done loading page.
Wend
IE.Document.All("BirthMonth").Value = "1"
IE.Document.All("BirthYear").Value = "2000"
IE.Document.All("Email").Value = ThisWorkbook.Sheets("queryRNstudents").Range("f2")
IE.Document.All("Password").Value = ThisWorkbook.Sheets("queryRNstudents").Range("e2")
IE.Document.All("PasswordConfirm").Value = ThisWorkbook.Sheets("queryRNstudents").Range("e2")
IE.Document.All("Country").Value = "USA"
IE.Document.All("responseButtonsDiv").Click
newHour = Hour(Now())
newMinute = Minute(Now())
newSecond = Second(Now()) + 3
waitTime = TimeSerial(newHour, newMinute, newSecond)
Application.Wait waitTime
IE.Document.All("FirstName").Value = ThisWorkbook.Sheets("queryRNstudents").Range("a2")
IE.Document.All("LastName").Value = ThisWorkbook.Sheets("queryRNstudents").Range("b2")
IE.Document.All("Address1").Value = "123 Nowhere St"
IE.Document.All("City").Value = "Des Moines"
IE.Document.All("StateProvince").Value = "IA"
IE.Document.All("ZipPostalCode").Value = "50318"
End Function
また、...... getElementsByID ....のTagNameを使用し、その可能性とあなたは同じIDで2つのコントロール以上を持つことができ、クラス名をすべて使用してからx番目の配列要素を使用していませんそれが1より大きい場合に計画が全てを設定するのでなければ –