Загрузка документов SEC с помощью Excel VBA — проблема со встроенным средством просмотра XBRL

Я пытаюсь загрузить документы SEC (10-K, 8-K и т. д.) с веб-сайта SEC, используя Excel vba. Я использую getelementsbytagname для определения URL-адреса для подачи. Однако, когда я использую частную функцию «URLDownloadToFile», я не могу загрузить файл, вместо этого я получаю файл «Inline XBRL Viewer.htm», который не содержит никакого текста регистрации. Ниже приведен код, который я использую:

htmlCol3 = htmlDoc1.getElementsByTagName("a")
For Each htmlInput3 In htmlCol3
If Left$(htmlInput3, 36) = "https://www.sec.gov/ix?doc=/Archives" Then
URL1 = Trim(htmlInput3)
buf = Split(URL1, ".")
ext = buf(UBound(buf))
If dt >= rptdt Then
strSavePath = FOL & "\" & CIK & "_" & FIL & "_" & str1 & "." & ext
ret = URLDownloadToFile(0, URL1, strSavePath, 0, 0)

Ниже приведена функция загрузки файла, которую я использую:

Private Declare Function URLDownloadToFile Lib "urlmon" Alias _
"URLDownloadToFileA" (ByVal pCaller As Long, ByVal szURL As String, ByVal _
szFileName As String, ByVal dwReserved As Long, ByVal lpfnCB As Long) As Long

Я пытаюсь получить первый URL-адрес из столбца «Документ» в верхней таблице с этой веб-страницы:

https://www.sec.gov/Archives/edgar/data/769397/000076939719000016/0000769397-19-000016-index.htm

Преобразование HTML-таблицы в профессиональный документ Excel
Преобразование HTML-таблицы в профессиональный документ Excel
Это самый простой способ создания Excel из HTML-таблицы.
Импорт excel в laravel в базу данных
Импорт excel в laravel в базу данных
Здравствуйте, дорогой читатель, в этой статье я расскажу практическим и быстрым способом, как импортировать файл Excel в вашу базу данных с помощью...
0
0
440
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Чтобы получить настоящую регистрацию, удалите бит ix?doc=, чтобы у вас был URL-адрес, начинающийся с https://www.sec.gov/Archives/....

например

URL1 = Replace(URL1, "https://www.sec.gov/ix?doc = ", "https://www.sec.gov")

Другие вопросы по теме