使用Excel VBA下载SEC归档-内联XBRL查看器问题

时间:2019-05-21 07:32:03

标签: excel vba xbrl edgar

我正在尝试使用Excel vba从SEC网站下载SEC文件(10-K,8-K等)。我正在使用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

我正在尝试从此网页的顶部表格的“文档”列中获取第一个网址:

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

1 个答案:

答案 0 :(得分:1)

要获取实际的文件,请去掉ix?doc=位,以便您有一个以https://www.sec.gov/Archives/...开头的URL。

例如

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