Я хотел бы автоматически циклически просматривать несколько сотен XBRL-файлов, собирать определенные данные и вставлять их в таблицу Excel. Мне удалось заставить работать «тангенциальный код», но я не могу ответить на основной вопрос.
Например, в файле XBRL мне нужно значение этого факта, представленное в отношении концепции pfs:GainLossBeforeTaxes
:
<pfs:GainLossBeforeTaxes
unitRef="U-EUR"
decimals="INF"
contextRef="CurrentDuration">1091134.68</pfs:GainLossBeforeTaxes>
==> Мне нужно получить 1091134.68
Это, несомненно, легко с Regex, но я не могу заставить это работать. И временные ограничения также важны для меня, поэтому я хотел бы получить какой-то минимально жизнеспособный продукт, а затем расширить его, но на данный момент код является скорее средством для достижения цели, а не конечным продуктом ( анализ).
Пока я придумал следующее:
Sub EDI_Input()
Dim myFile As String
Dim textline As String
Dim StartPos As Integer
Dim EndPos As Integer
myFile = Application.GetOpenFilename()
Open myFile For Input As #EDI
Do Until EOF(EDI)
Line Input #EDI, textline
If InStr(textline, "NonRecurringFinancialCharges") <> 0 And InStr(textline, "CurrentDuration") <> 0 Then
Endpos = InStr(textline, "</pfs:NonRecurringFinancialCharges><")
result = Left(textline, Endpos - 1)
StartPos = InStr(textline, "Char(34)&CurrentDuration&Char(34)&>")
textline = Left(textline, StartPos + 18)
Debug.Print (textline)
End If
Loop
Я все время спотыкаюсь о «неправильной процедуре вызова или ошибке аргумента», возможно, потому что я загружаю много данных в моей строке.
Кто-нибудь, кто имеет какое-либо мнение о том, как получить хотя бы частично работающую программу - таким образом я могу хотя бы частично начать свой анализ - Или учебник для начинающих / опыт работы с этой проблемой?