私は開発者ではなく、XML の知識は非常に限られていますが、過去 3 ~ 4 日間 Web で調査して学んだことについてです。したがって、この質問の基本的なレベルについては、事前にお詫び申し上げます。この 1 回限りのタスクを終了しようとしています。
私は VBA Excel の知識があり、現在、VBA を使用して、SEC ファイリング Web サイトの特定の会社のページから SIC コード属性を抽出しようとしています。例として、これはウォルマートのサイトです
上部の青いバーに「SIC: 5331」と表示されます。スプレッドシートに入力できるように、VBA 変数に戻ろうとしているのは 5331 です。IE で右クリックして [ソースの表示] をクリックすると、関連するページの部分が XML で次のように読み取られます。
<div id="contentDiv">
<!-- START FILER DIV -->
<div style="margin: 15px 0 10px 0; padding: 3px; overflow: hidden; background-color: #BCD6F8;">
<div class="mailer">Mailing Address
<span class="mailerAddress">702 SOUTHWEST 8TH STREET</span>
<span class="mailerAddress"> BENTONVILLE AR 72716 </span>
</div>
<div class="mailer">Business Address
<span class="mailerAddress">702 SOUTHWEST 8TH ST</span>
<span class="mailerAddress">BENTONVILLE AR 72716 </span>
<span class="mailerAddress">5012734000</span>
</div>
<div class="companyInfo">
<span class="companyName">WAL MART STORES INC <acronym title="Central Index Key">CIK</acronym>#: <a href="/cgi-bin/browse-edgar?action=getcompany&CIK=0000104169&owner=exclude&count=40">0000104169 (see all company filings)</a></span>
<p class="identInfo"><acronym title="Standard Industrial Code">SIC</acronym>: <a href="/cgi-bin/browse-edgar?action=getcompany&SIC=5331&owner=exclude&count=40">5331</a> - RETAIL-VARIETY STORES<br />State location: <a href="/cgi-bin/browse-edgar?action=getcompany&State=AR&owner=exclude&count=40">AR</a> | State of Inc.: <strong>DE</strong> | Fiscal Year End: 0131<br />(Assistant Director Office: 2)<br />Get <a href="/cgi-bin/own-disp?action=getissuer&CIK=0000104169"><b>insider transactions</b></a> for this <b> issuer</b>.
<br />Get <a href="/cgi-bin/own-disp?action=getowner&CIK=0000104169"><b>insider transactions</b></a> for this <b>reporting owner</b>.
</p>
</div>
</div>
</div>
VBA を使用して SIC を抽出する方法を理解しようとしているときに、あなたのサイトで次の投稿を見つけました。
VBAを使用してxml属性値をクエリおよび解析してXLSにする
Excelモジュールにコピー/貼り付けしてbarrowcの回答を適用しようとしましたが、Wal Martファイリングへのパスを挿入しましたが、ステップスルーするとDebug.Print "*****"が表示されますが、nには何も表示されません。文章。
Sub test4()
Dim d As MSXML2.DOMDocument60
Dim i As IXMLDOMNodeList
Dim n As IXMLDOMNode
Set d = New MSXML2.DOMDocument60
d.async = False
d.Load ("http://www.sec.gov/cgi-bin/browse-edgar?company=&match=&CIK=886475&filenum=&State=&Country=&SIC=&owner=exclude&Find=Find+Companies&action=getcompany")
Debug.Print "*****"
Set i = d.SelectNodes("//div[@id='contentDiv']")
For Each n In i
Debug.Print n.Text
Next n
Debug.Print "*****"
Set d = Nothing
End Sub
でさまざまな文字列を試しましたd.SelectNodes()
が、このトピックについて十分に理解していないため、どこが間違っているのかを理解できません。したがって、私の構文に関するコメントまたはリソースへのポインターのいずれかが非常に役立ちます。