webページのソースコードを検索して、検索した文字列に続く3文字を取得したい
未読分:5件
昨日以降(0) 2日前以降(0) 3日前以降(0) 4日前以降(0) 5日前以降(0)
近田 伸矢, 植木 悠二, 上田 寛
IEのデータ収集&自動操作のプログラミング本はこの1冊だけ!IEの起動やポップアップウィンドウ、表示を制御する基本的なコードはもちろん、テキストボックスやラジオボタン、表、ハイパーリンクなどのHTML部品を制御する方法など、自動操作に欠かせないノウハウを丁寧に解説。
Message#5 2015年1月21日(水)00時15分 From: 米俵 | 返事 削除 変更 |
ありがとうございました 思い通りの結果を得ることができました プログラムの意味がまだ理解できてませんが、ひとつひとつ理解していきたいと思います |
Message#4 2015年1月20日(火)23時59分 From: 田中 | 返事 削除 変更 |
色々と仕様が不明ですが、以下の前提で組んでみました。 ・Webページのアクセスには InternetExplorer.Application を使用している ・取得したい文字列は BODY 要素内に存在する ・取得したい文字列は、検索文字列 "ABC" から行末(改行) までである。 -------------------------------------------------------- ' IE の準備 Dim objIE As Object Set objIE = CreateObject("InternetExplorer.Application") ' Webページのアクセス処理は紙面の都合で省略 ' Webページへのアクセスが完了したら、BODY 要素内のソースを取得する Dim sourceBody As String sourceBody = objIE.Document.body.OuterHtml ' 取得したソースを改行で区切って配列にする Dim lines() As String ' 改行コードを LF に揃える sourceBody = Replace(sourceBody, vbCrLf, vbLf) sourceBody = Replace(sourceBody, vbCr, vbLf) ' 改行コード LF で区切って配列にする sourceLines = Split(sourceBody, vbLf) ' 検索する文字列(ABC)を含む行を検索 Dim lineNo As Integer Dim position As Integer For lineNo = 0 To UBound(sourceLines) ' 検索文字列 ABC を探す position = InStr(sourceLines(lineNo), "ABC") If position > 0 Then ' 検索文字列の後ろの文字列を取得して、メッセージボックスに表示 MsgBox (Mid$(sourceLines(lineNo), position + Len("ABC"))) End If Next |
Message#3 2015年1月20日(火)23時50分 From: 米俵 | 返事 削除 変更 |
説明不足で申し訳ありません webページのソースの取得まではネットで調べて出来ました A.*** の部分を取得する方法がわかりません |
Message#2 2015年1月20日(火)23時07分 From: 田中 | 返事 削除 変更 |
質問内容はどちらでしょうか。 A. Webページのソースは取得できているが、ABC を検索 して *** の部分を取得する方法が判らない B. VBA で Webページにアクセスするところから全く分か らない。 B である場合は、『Webページにアクセスするところ』までは Google で 「EXCEL VBA Internet Explorer」あたりを検索 条件にして自分で調べてください。サンプルコードがたくさん 見つかります。 |
Message#1 2015年1月20日(火)23時01分 From: 米俵 | 返事 削除 変更 |
webページのソースコードを検索して、検索した文字列に続く3文字を取得したいです webページのソースコードが下記だと仮定します (ソースコード) AAA ABC*** BBB CCCAAA ABC という文字列を検索して、***という変数を取得したいです ***の部分は毎回変わる、英数字のランダムな文字です 説明が下手で申し訳ありません どの様に取得すればよいかわかりません どうぞよろしくお願い申し上げます |
昨日以降 2日前以降 3日前以降 4日前以降 5日前以降