Gibt es eine Möglichkeit, eine per Hyperlink verknüpfte PDF-Datei in einer Excel-Datei zu „speichern unter“?

Gibt es eine Möglichkeit, eine per Hyperlink verknüpfte PDF-Datei in einer Excel-Datei zu „speichern unter“?

Ich muss Hunderte von PDFs herunterladen, die über Hyperlinks in einer riesigen Excel-Datei verknüpft sind. Derzeit klicke ich auf den Hyperlink, wodurch die Datei im Adobe Reader im Internet Explorer geöffnet und in einem Ordner auf meinem Computer gespeichert wird. Gibt es eine Möglichkeit, in Excel auf den Hyperlink zu klicken und „Speichern unter“ auszuwählen, anstatt den mühsamen Vorgang des Öffnens und Speicherns jeder PDF-Datei einzeln durchzuführen? Ich entschuldige mich, wenn diese Frage etwas dumm oder vage erscheint, ich bin überhaupt nicht technisch versiert!

Antwort1

Ich werde Ihnen dabei helfen, einen Teil des Weges zu finden. Es gibt nicht genügend Informationen, um alles zu erledigen, aber den Rest könnte man leicht nachschlagen.

Dabei wird VBA-Code verwendet, um das von Ihnen Angeforderte auszuführen.

Unten ist Code vonvbaexpressgeschrieben von Mvidas. Es nimmt eine Internetadresse und speichert sie in einer lokalen Datei.

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 

Ein Makro zum Testen

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 

Mit dieser Funktion müssen Sie eine Schleife einrichten und die Adresse von Ihren Hyperlinks abrufen

Sie müssten eine Schleife einrichten, um durch Ihre Zellen zu gehen, die Hyperlink-Adresse abzurufen und die Funktion auszuführen

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

verwandte Informationen