読者です 読者をやめる 読者になる 読者になる

DuKiccoの雑記

My Life Is Myself

エクセル,vba,xml,Pubmed,API,PMID

エクセル VBA



PubmedAPIを利用してPubmed検索結果のPMIDをセルに書き出す。

Pumed API
PubMed検索方法:Web Apiの勉強中: IT関係。二階堂のブログ。

XML
http://minor.hatenablog.com/entry/2015/09/02/233330

Sub GetPubMedID()
'Microsoft XML. v6.0を参照設定のこと

    
Dim xmlNode As String
Dim xdoc As MSXML2.DOMDocument
Dim httpObj As Object
Dim childNode As IXMLDOMNode
Dim PNode As IXMLDOMNode
    
    '検索ワードを設定
    検索ワード = "Cancer"
 
    url = "https://eutils.ncbi.nlm.nih.gov/entrez/eutils/esearch.fcgi?db=pubmed&term=" & 検索ワード & "&retmode=xml"
    
    xmlNode = "//eSearchResult/IdList"


    Set httpObj = CreateObject("Microsoft.XMLHTTP")
    httpObj.Open "GET", url, False
    httpObj.send ("")
    
    Set xdoc = httpObj.responseXML
    'MsgBox xdoc.XML
    Set PNode = xdoc.SelectSingleNode(xmlNode)


i = 1
        For Each childNode In PNode.ChildNodes
            
            If childNode.nodeName = "Id" Then
                'セルに結果を入力
                Cells(i, 1) = childNode.Text
                i = i + 1
            End If
            
        Next childNode
        
        Set httpObj = Nothing
        Set PNode = Nothing
        
End Sub