首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >VBA自动将PDF链接下载到桌面文件夹

VBA自动将PDF链接下载到桌面文件夹
EN

Stack Overflow用户
提问于 2021-01-09 06:55:38
回答 1查看 72关注 0票数 0

我的代码目前循环通过Excel中的超链接列表,并批量下载这些链接作为PDF。我在控制这些下载的位置时遇到了麻烦。有时它们会保存到我的桌面、文档或其他文件路径。理想情况下,我希望将它们保存到桌面上名为“PDF”的指定文件夹中。下面是我目前拥有的代码:

代码语言:javascript
复制
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

如果有人知道如何将此代码保存到特定的文件夹路径中,将不胜感激!谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-01-10 11:28:26

这是我使用的方法,它运行良好,特别是当您可能需要在用户配置文件可能更改的多台计算机上使用文件时,例如发送给其他人以执行打印操作或从另一个桌面打印。此方法不会设置特定于您的PC的静态路径,而是根据运行它的PC设置路径。更灵活的解决方案。

代码语言:javascript
复制
'Set Filename
pdfname = Environ("UserProfile") & "\Desktop\PDFs\" & RecordNum & ".pdf"
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65637479

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档