有没有办法将 excel 文件中的超链接“另存为”pdf?

有没有办法将 excel 文件中的超链接“另存为”pdf?

我的任务是下载数百个通过超链接链接到一个巨大的 excel 文件中的 pdf 文件。现在,我单击超链接,在 Internet Explorer 中的 Adob​​e Reader 中打开文件,然后将文件保存到我电脑上的文件夹中。有没有办法单击 excel 中的超链接并“另存为”,而不是逐个打开和保存每个 pdf 文件?如果这个问题看起来有点愚蠢或模糊,我很抱歉,我一点都不懂技术!

答案1

我会带你到那里。没有足够的信息来完成所有的事情,但查找其余部分会很容易。

这将使用 vba 代码来执行您的请求。

以下是代码虚拟专用网络由 Mvidas 编写。它获取互联网地址并将其保存到本地文件。

Option Explicit 
Function SaveWebFile(ByVal vWebFile As String, ByVal vLocalFile As String) As Boolean 
    Dim oXMLHTTP As Object, i As Long, vFF As Long, oResp() As Byte 

     'You can also set a ref. to Microsoft XML, and Dim oXMLHTTP as MSXML2.XMLHTTP
    Set oXMLHTTP = CreateObject("MSXML2.XMLHTTP") 
    oXMLHTTP.Open "GET", vWebFile, False 'Open socket to get the website
    oXMLHTTP.Send 'send request

     'Wait for request to finish
    Do While oXMLHTTP.readyState <> 4 
        DoEvents 
    Loop 

    oResp = oXMLHTTP.responseBody 'Returns the results as a byte array

     'Create local file and save results to it
    vFF = FreeFile 
    If Dir(vLocalFile) <> "" Then Kill vLocalFile 
    Open vLocalFile For Binary As #vFF 
    Put #vFF, , oResp 
    Close #vFF 

     'Clear memory
    Set oXMLHTTP = Nothing 
End Function 

用来测试的宏

Sub TestingTheCode() 
     'This will save the Google logo to your hard drive, insert it into the
     ' active spreadsheet, then delete the local file
    SaveWebFile "http://www.google.com/intl/en/images/logo.gif", "C:\GoogleLogo.gif" 
    ActiveSheet.Pictures.Insert "C:\GoogleLogo.gif" 
    Kill "C:\GoogleLogo.gif" 
End Sub 

使用此功能你需要设置一个循环并从超链接中获取地址

您需要设置一个循环来遍历您的单元格,获取超链接地址并运行该函数

For i = 1 to lastRow
    cellAddress = Replace(Range("A" & i).Hyperlinks(1).Address, "mailto:", "")
    'Something to get the file name from the whole file name here
    SaveWebFile cellAddress, destinationFolder & filename
Next

相关内容