dポイントプレゼントキャンペーン実施中!

VBAでホームページから値を取得できない

msnマネー残高照会サービス(https://zandaka.money.msn.co.jp/
は登録した各銀行、クレジットカード会社サイトから預金残高等を照会して
個人資産・負債のサマリー等を表示させるサービスですが、こちらの
サイトから、毎日自動的に資産合計、負債合計、純資産※(資産合計-負債合計)
の数字を取得して携帯にメールを送信したいと考え、VBAを作成中なのですが、
肝心のこれらの値をソースのどの部分から取得すればいいのかさえわからず
まったくお手上げの状態です。もしヒントだけでもわかりましたら
ご教授いただければと思います。よろしくお願いします。

Sub money_test()

Dim objIE As Object
Dim objSHELL As Object
Dim newIE As Object
Dim objINPUT As Object

Set objIE = CreateObject("InternetExplorer.application")
objIE.Visible = True
objIE.Navigate "https://zandaka.money.msn.co.jp/"

Do While objIE.Busy = True
DoEvents
Loop

Sleep (2000)

'画面が自動的に遷移するため、新しくオブジェクト取得
Set objSHELL = CreateObject("Shell.Application")
Set newIE = objSHELL.Windows(objSHELL.Windows.Count - 1)
Set objSHELL = Nothing

newIE.document.F1.Password.Value = "******"

For Each objINPUT In newIE.document.F1.all.tags("INPUT")
If objINPUT.Value = "サインイン" Then
objINPUT.Click
Exit For
End If
Next

Do While newIE.Busy = True
DoEvents
Loop

Sleep (2000)

==============================

  (上記項目を表示していると思われる該当部分のソース)

 <!--★アカウント登録なし表示_end-->
 <!-- コンテンツ_start -->
 <!----sisan_start---->
 <div id="aa_category_assets" class="box aa_category_assets">
<div class="boxtitle" style="float:none;"><span style="color:#669b3a;">資産・負債合計</span></div>
<div style="padding:7px; padding-top:0px;">
<table class="toptable">
<tr>
<th scope="col" style="width:30%;">
資産合計</th>
<th scope="col" style="width:30%;">
負債合計</th>
<th scope="col" style="text-align:center;">
純資産※(資産合計-負債合計)</th>
</tr>
<tr>
<td class="number"><span class="aa_assets_plus"></span></td>
<td class="number"><span class="red aa_assets_minus"></span></td>
<td class="number"><span class="aa_assets"></span></td>
</tr>
</table>
</div>
 </div>
 <!----sisan_end---->

A 回答 (1件)

Dim strSpan As Object


Dim buf As String
For Each strSpan In objIE.document.getElementsByTagName("span")
 Select Case strSpan.className
  Case "aa_assets_plus"
   buf = "資産合計:" & strSpan.innerHTML & vbCrLf
  Case "red aa_assets_minus"
   buf = buf & "負債合計:" & strSpan.innerHTML & vbCrLf
  Case "aa_assets"
   buf = buf & "純 資 産:" & strSpan.innerHTML
 End Select
Next
MsgBox buf

みたいなことで取得できないでしょうか?
「.innerHTML」でダメなら「.innerText」にしてみるとか
    • good
    • 0
この回答へのお礼

できました!
助かりました、本当にありがとうございました。

お礼日時:2010/07/30 16:54

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!