Function XBRL_accread(fln As String, el_name As String, contextRefv As String, errF As Boolean) Set xbrl_XML = CreateObject("MSXML.DOMDocument") Set elms = CreateObject("MSXML.DOMDocument") fln = ThisWorkbook.Path & "\" & fln & ".xbrl" If xbrl_XML.Load(fln) = False Then If (errF) Then out_v = "" Else out_v = "ファイル読込失敗" End If GoTo exitF End If Set elms = xbrl_XML.getElementsByTagName(el_name) n = elms.Length If n = 0 Then If (errF) Then out_v = "" Else out_v = "存在しない要素名" End If GoTo exitF End If For i = 0 To n - 1 Set elm = elms.Item(i) mm = elm.Attributes.Length For j = 0 To mm - 1 If elm.Attributes.Item(j).BaseName = "contextRef" Then att_v = elm.Attributes.Item(j).Text If att_v = contextRefv Then If (elm.Text = "") Then out_v = "" Else out_v = CDbl(elm.Text) End If GoTo exitF End If End If Next Next If (errF) Then out_v = "" Else out_v = "存在しない属性値" End If exitF: XBRL_accread = out_v Exit Function End Function Function XBRL_elread(fln As String, element_name As String, errF As Boolean) Set xbrl_XML = CreateObject("MSXML.DOMDocument") Set elms = CreateObject("MSXML.DOMDocument") fln = ThisWorkbook.Path & "\" & fln & ".xbrl" If xbrl_XML.Load(fln) = False Then ' 読み込み失敗時 If (errF) Then out_v = "" Else out_v = "ファイル読込失敗" End If GoTo exitF End If Set elms = xbrl_XML.getElementsByTagName(element_name) If (elms.Length = 0) Then If (errF) Then out_v = "" Else out_v = "存在しない要素名" End If Exit Function End If out_v = elms.Item(0).Text exitF: XBRL_elread = out_v End Function Function XBRL_contextread(fln As String, at_idv As String, element_name As String, errF As Boolean) Set xbrl_XML = CreateObject("MSXML.DOMDocument") Set elms = CreateObject("MSXML.DOMDocument") fln = ThisWorkbook.Path & "\" & fln & ".xbrl" If xbrl_XML.Load(fln) = False Then ' 読み込み失敗時 If (errF) Then out_v = "" Else out_v = "ファイル読込失敗" End If GoTo exitF End If Set elms = xbrl_XML.getElementsByTagName("xbrli:context") n = elms.Length If n = 0 Then If (errF) Then out_v = "" Else out_v = "存在しない要素名" End If GoTo exitF End If For i = 0 To n - 1 Set elm = elms.Item(i) mm = elm.Attributes.Length For j = 0 To mm - 1 If elm.Attributes.Item(j).BaseName = "id" Then att_v = elm.Attributes.Item(j).Text If att_v = at_idv Then out_v = elm.getElementsByTagName(element_name).Item(0).Text GoTo exitF End If End If Next Next If (errF) Then out_v = "" Else out_v = "存在しない属性値" End If exitF: XBRL_contextread = out_v End Function