2017-01-25 7 views
1

vbaを使用して特定のWebサイトを操作しようとしましたが、実際にコードが機能しない理由がわかりません。excel vbaを使ってWebページを操作する

Webページのソースコード:

<td class="grid-cell purchaseOrderPUGrid-col4 cur center cell-update " eno="edit" _col="10" field="selfVOService">EUR 0.00</td> 
<input name="name1" class="name2" style="width: 156px;" onpaste="return false" oncontextmenu="return false" type="text"> 

私のソースコード:

For Each oHTML_Element_2 In HTMLDoc.getElementsByTagName("input") 
    If oHTML_Element_2.className = "name2" And oHTML_Element_2.Type = "text" Then 
     oHTML_Element_2.Click 
     oHTML_Element_2.txtamount.Value = "123" 
     oHTML_Element_2.txtamount.Text = "123" 
    End If 
Next 

答えて

1

あなたはほとんどそこにいます。 .valueを使用して、コントロールオブジェクトの表示値を設定または取得する必要があります。あなたの作業コードは次のとおりです:

For Each oHTML_Element_2 In HTMLDoc.getElementsByTagName("input") 
    If oHTML_Element_2.className = "name2" And oHTML_Element_2.Type = "text" Then 
     oHTML_Element_2.Value = 123 
    End If 
Next 

また、値を設定するためにオブジェクトをクリックする必要はありません。それが適切に識別されている限り、あなたは良いです。

+0

多くの感謝!それは動作しますが、なぜ私はちょうど '.value'が必要ですか?また、どのように私はウェブサイト上のプレスエンターボタンをシミュレートすることができます! –

+0

喜んで助けてください。 '.txtamount.Value'や' .txtamount.Text'などのメソッドがないので、 '.value'を使うだけです。詳細については、この[リンク](https://msdn.microsoft.com/en-us/library/ms535841(v = vs.85).aspx)を参照してください。また、この[リンク](http://stackoverflow.com/questions/17179872/i-need-to-find-and-press-a-button-on-a-webpage-using-vba)をチェックして、ボタンを押す。 P.S. Googleはあなたの友人です... :) – ManishChristian

関連する問題