如何使用 VBA 在浏览器中打开 URL?

Jas*_*sco 3 excel vba createobject referer web-scraping

尝试使用引用打开 PDF(-网站),该引用只能通过在父页面上单击链接打开。

通过使用

 CreateObject(WinHttp.WinHttpRequest.5.1) 
.setRequestHeader "referer", "https://...“ 
Run Code Online (Sandbox Code Playgroud)

访问有效,但我需要在浏览器中打开页面才能查看 pdf。

发现这个:

https://docs.microsoft.com/en-us/previous-versions/windows/internet-explorer/ie-developer/platform-apis/aa752094(v=vs.85)

语法:object.Navigate2(URL, Flags, TargetFrameName, PostData, Headers)

( PostData [in, optional] Headers [in, optional] )

并尝试

 Dim IE As InternetExplorer  
 Set IE = New InternetExplorer 
    
   With IE
    .Navigate2
    https://main...,
    "https://referer..."
Run Code Online (Sandbox Code Playgroud)

没有结果!有没有人有办法解决吗?(请只使用 VBA!谢谢)

Ray*_* Wu 6

我相信您为Referer:Headers 参数提供了错误的 Referer URL(并且格式也错误,除了 Referer URL 之外,您还需要包含),试试这个:

Private Sub Test()
    Dim oIE As InternetExplorer
    Set oIE = New InternetExplorer
        
    With oIE
        .Visible = True
        .navigate "https://www.zvg-portal.de/index.php?button=showAnhang&land_abk=ni&file_id=16396&zvg_id=6467", _
                    headers:="Referer: https://www.zvg-portal.de/index.php?button=showZvg&zvg_id=6467&land_abk=sh"
    End With
    oIE.Quit
    Set oIE = Nothing
End Sub 
Run Code Online (Sandbox Code Playgroud)

  • 这是一个非常好的解决方案,因此请考虑接受。这不是必需的,您可以选择您喜欢的答案并等待将来的答案。作为新用户,请花点时间阅读:https://stackoverflow.com/help/someone-answers (3认同)