首页 > 解决方案 > 为什么我的 VBA 代码存在文件路径错误

问题描述

在运行我的代码以将网页打印为 PDF 时,文件路径似乎存在问题,因为“运行时错误 '52';错误的文件名或编号”显示,但我无法弄清楚它是什么。我确认了该路径名并继续收到相同的错误。我试图取消链接我的 OneDrive,但似乎没有任何变化。此外,如果有人可以帮助命名文件的具体内容,那也将非常有帮助。(即第一个 PDF 名称为 General,第二个 L&L 等)

任何帮助表示赞赏。

Sub Test2()
Dim i As Long
Dim FileNum As Long
Dim FileData() As Byte
Dim MyFile As String
Dim WHTTP As Object

On Error Resume Next
    Set WHTTP = CreateObject("WinHTTP.WinHTTPrequest.5")
    If Err.Number <> 0 Then
        Set WHTTP = CreateObject("WinHTTP.WinHTTPrequest.5.1")
    End If
On Error GoTo 0

If Dir("C:\MyDownloads", vbDirectory) = Empty Then MkDir "C:\MyDownloads"

For i = 1 To 7
    MyFile = Cells(i, 1).Text
    TempFile = Right(MyFile, InStr(1, StrReverse(MyFile), "/") - 1)
    WHTTP.Open "GET", MyFile, False
    WHTTP.Send
    FileData = WHTTP.ResponseBody
    
    FileNum = FreeFile
    Open "C:\MyDownloads\" & TempFile For Binary Access Write As #FileNum
        Put #FileNum, 1, FileData
    Close #FileNum
Next
Set WHTTP = Nothing
MsgBox "Open the folder [ C:\MyDownloads ] for the downloaded file..."
End Sub

编辑

TempFile 设置不正确,假设是因为 URL 包含斜杠。单元格值为“https://psearch.kitsapgov.com/pdetails/Details?parcel=132501-1-030-1005&page=general”,TempFile仅显示为“Details?parcel=132501-1-030-1005&page=一般的”

标签: excelvba

解决方案


推荐阅读