お疲れ様です。
現在別途質問させていただいている此方
https://teratail.com/questions/qjglkgcc8idbx3
に関して、自分で粘ってみたところ。
以下sample xmlドキュメントに対して
以下ソースでID name まで取得できました。
しかし実際欲しい値が格納されているvalueを取れない状況です。
どうかお力の程お貸しください。
xmlドキュメント
'''<issue> <id>10</id>
<tracker id="4" name="運用保守"/>
<author id="6" name="●●太郎"/>
<subject>タイトル</subject>
<custom_fields type="array">
<custom_field id="1" name="受付_日付">
<value>ここが取りたい</value>
</custom_field>
<custom_field id="2" name="受付_時刻"> <value>10:10</value>
</custom_field>
</custom_fields>
</issue>
'''
ソース
vba Dim baseurl As String, targeturl As String Dim header As Integer, row As Integer Dim min As Integer, max As Integer Dim cnt As Integer Dim ticketid As String Dim dom As Object Dim issue As Object Dim customfield As variant baseurl = "http://redmine/" header = 5 row = header + 1 min = 1 max = 100 cnt = min '[A~G]欄の[row~(max-min+1)]行まで一気にクリアする Range(Cells(row, 1), Cells(max - min + 1, 7)).Clear Do While Cells(row, 1) = "" ticketid = Trim(str(cnt - header)) 'APIアクセスキーなし targeturl = baseurl + ticketid + ".xml" 'APIアクセスキーあり 'targeturl = baseurl + ticketid + ".xml?key=aaaaaaaaaaaaaaaaaaaa" Set dom = CreateObject("MSXML2.DOMDocument") dom.async = False dom.setProperty "ServerHTTPRequest", True dom.Load (targeturl) Set issue = dom.ChildNodes.Item(1) If Not (issue Is Nothing) Then Cells(row, 1) = issue.getElementsByTagName("id").Item(0).text Cells(row, 2) = issue.getElementsByTagName("project").Item(0).getAttribute("name") Cells(row, 3) = issue.getElementsByTagName("tracker").Item(0).getAttribute("name") Cells(row, 4) = issue.getElementsByTagName("status").Item(0).getAttribute("name") Cells(row, 5) = issue.getElementsByTagName("priority").Item(0).getAttribute("name") 'カスタムフィールド ここで値を取りたい。 for each customfield in issue .getElementsByTagName("custom_field") if getAttribute("id")=1 then 'ここでnameではなくvalueを取得したい。 Cells(row, 6)=custom_field.getAttribute("name") end if next custom_field row = row + 1 End If cnt = cnt + 1 If cnt > max Then GoTo 9999 End If Loop 9999
参考url
https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q10241802100
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/01/14 03:37