如何使用 Excel VBA 从 Web 浏览器下载 PDF.php 文件



嗨,我正在尝试从网络浏览器下载一个名为" view.pdf.php文件并将其另存为pdf文件。文件是在网络浏览器中单击打印图标时获得的,它在另一个浏览器中打开一个.pdf.php文件(

尝试了从堆栈流中的一些示例,但无法以正确的格式下载。

尝试过的代码:

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
Function DownloadFile(URL As String, LocalFileName As String) As Boolean
Dim lngRetVal As Long
lngRetVal = URLDownloadToFile(0, URL, LocalFileName, 0, 0)
If lngRetVal = 0 Then DownloadFile = True
End Function
Sub Test()
DownloadFile "https://app.goscripts.com/vendor/viewreferral.php?Id=XXXXX", "\testtest.pdf"
End Sub

尝试打开下载的文件时,它显示为" Adobe Acrobat Reader无法打开'测试.pdf',因为它不是受支持的文件类型或文件已损坏"请帮助我修复此错误。

找到从 Web 浏览器保存文件的替代方法,
法典:

Const OLECMDEXECOPT_DODEFAULT = 0
Const OLECMDEXECOPT_PROMPTUSER = 1
Const OLECMDEXECOPT_DONTPROMPTUSER = 2
Const OLECMDEXECOPT_SHOWHELP = 3
Const OLECMDID_SAVEAS = 4
Const PRINT_WAITFORCOMPLETION = 2

Sub Sample()
Dim objIE, sh As Object
Set objIE = CreateObject("InternetExplorer.Application")
objIE.Navigate "https://123.com/vendor/vieworder.pdf.php?OrderId=XXXX"
objIE.Visible = True
Do While objIE.ReadyState <> 4
DoEvents
Loop
objIE.ExecWB OLECMDID_SAVEAS, OLECMDEXECOPT_DODEFAULT
Set sh = CreateObject("WScript.Shell")
sh.AppActivate "Save AS"
Application.Wait (Now + TimeValue("00:00:02"))
sh.SendKeys "done", 1
sh.SendKeys ("{ENTER}")
objIE.Quit
End Sub

感谢您的支持

最新更新