我的代码目前循环通过Excel中的超链接列表,并批量下载这些链接作为PDF。我在控制这些下载的位置时遇到了麻烦。有时它们会保存到我的桌面、文档或其他文件路径。理想情况下,我希望将它们保存到桌面上名为“PDF”的指定文件夹中。下面是我目前拥有的代码:
Declare PtrSafe 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 DownloadPDFs()
Dim StartRowNum As Long
Dim EndRowNum As Long
Dim pdfname As String
Dim RecordNum As String
Dim URLprefix As String
LastRowPDF = Sheet1.Cells(Rows.Count, "B").End(xlUp).Row
For i = 2 To LastRowPDF
Application.ScreenUpdating = False
URLprefix = Sheet1.Cells(i, 2)
RecordNum = Sheet1.Cells(i, 3)
pdfname = RecordNum & ".pdf"
URL = URLprefix
DownloadFile URLprefix, pdfname
Application.ScreenUpdating = True
Next i
End Sub如果有人知道如何将此代码保存到特定的文件夹路径中,将不胜感激!谢谢。
发布于 2021-01-10 11:28:26
这是我使用的方法,它运行良好,特别是当您可能需要在用户配置文件可能更改的多台计算机上使用文件时,例如发送给其他人以执行打印操作或从另一个桌面打印。此方法不会设置特定于您的PC的静态路径,而是根据运行它的PC设置路径。更灵活的解决方案。
'Set Filename
pdfname = Environ("UserProfile") & "\Desktop\PDFs\" & RecordNum & ".pdf"https://stackoverflow.com/questions/65637479
复制相似问题