Я хотел бы автоматически просмотреть несколько сотен 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
Я продолжаю спотыкаться о «недопустимой процедуре вызова или ошибке аргумента», возможно, потому, что я загружаю много данных в свою строку.
У кого есть мнение, как получить хотя бы частично работающую программу - таким образом я смогу хотя бы частично начать свой анализ - Или туториал для новичков/опыта с этой проблемой?