VBAで商品金額の数字のみを抽出する方法 削除
Message#2 2014年9月30日(火)07時43分 From: 管理人 |
VBAで金額だけ抽出する場合には、InstrやMid関数で取得できなくはないですが、1文字ずつチェックしていき、数字の部分だけ抽出した方が確実です。 例えば、 <p>Z商品の価格は5425円</p> のようなHTMLの文字列があり、金額部分だけを抽出したい場合は、以下のサブルーチンを利用すると便利です。 Function numExtract(strValue As String) As String Dim i As Integer For i = 1 To Len(strValue) oneTxt = Mid(strValue, i, 1) If oneTxt Like "[0-9]" Then: numExtract = numExtract & oneTxt Next i End Function こちらのサブルーチンを利用して、テストページからデータを抽出すると以下のようになります。 Sub sample() 'テストページをIEで表示 Call ieView(objIE, "http://www.vba-ie.net/code/test4.html") For Each objTag In objIE.document.getElementsByTagName("p") If InStr(objTag.outerHTML, "円") > 0 Then Debug.Print numExtract(objTag.innerHTML) End If Next End Sub これによりVBAで数字の部分だけ抽出できますので、試してみてください。 |
上のメッセージを削除します。
よければパスワードを入力し、削除ボタンをクリックしてください。