Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Datei hinter Hyperlink per Befehlsschaltfläche exportieren
#1
Hola,

zum Glück lebt das Forum noch :) ich benötige mal wieder Eure Hilfe.

ich möchte per Knopfdruck alle Dateien hinter den Hyperlinks in den Ordner der .xlsx speichern.

Die Mappe liegt in "G:\Technik\SAP\Export\…"
die Hyperlinks dazu in Spalte "AG"
und haben eine Standard Formatierung und heißen wie folgt "\\SAP01\SAP-Dateien\Dateianhänge\....pdf"

Die Hyperlinks sind Teilweise doppelt und es gibt auch leere Zeilen.

Da ich nicht viel Ahnung von VBA habe wäre nett wenn mir einer von euch helfen könnte.

Vielen Dank!
Gruß Marco
Antworten Top
#2
Hi,

Code:
Option Explicit

Private Declare Function DeleteUrlCacheEntry Lib "wininet.dll" Alias "DeleteUrlCacheEntryA" (ByVal lpszUrlName As String) As Long
Private Declare 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
Sub hypertext_in_Ordner()
Dim StrPath As String
Dim lngRow As Long
For lngRow = 2 To Cells(Rows.Count, "AG").End(xlUp).Row 'ich starte ab Zeile 2 in Spalte A 'ggf ändern
    StrPath = Cells(lngRow, "AG").Value
        If Cells(lngRow, "AG").Hyperlinks.Count > 0 Then
            URLDownloadToFile 0, StrPath, ThisWorkbook.Path & "\" & StrReverse(Split(StrReverse(StrPath), "\")(0)), 0, 0
        End If
Next
End Sub
lg Chris
Feedback nicht vergessen.
[Bild: v.gif]
3a2920576572206973742064656e20646120736f206e65756769657269672e
[-] Folgende(r) 1 Nutzer sagt Danke an chris-ka für diesen Beitrag:
  • MarcoH83
Antworten Top
#3
Hallo Chris,

vielen Dank schonmal für deine Antwort.

Ich habe den Code komplett per Code anzeigen in die Schaltfläche eingefügt.

Es passiert jedoch nichts.
Antworten Top
#4
Hi,

Zitat:Da ich nicht viel Ahnung von VBA habe ...

Öffne deine Datei
drücke Alt+F11
Menü -> Einfügen Modul
kopiere diesen Code in dieses Modul hinein.
im Register Entwicklertools füge aus Steuerelemente eine Schaltfläche ein. (falls noch nicht da Register hinzufügen mit Menüband anpassen)
Bei eingeschaltetem Entwurfsmodus vergebe bei "Klick" den Eintrag (dplklick auf die Schaltfläche)
hypertext_in_Ordner
auf die Schaltfläche
Schließe das VBE Fenster
Speichere  die Datei mit Makros ab!
und fertisch ;)
anbei noch als Video
https://www.youtube.com/watch?v=3VGO_O8HKfM
lg Chris
Feedback nicht vergessen.
[Bild: v.gif]
3a2920576572206973742064656e20646120736f206e65756769657269672e
[-] Folgende(r) 1 Nutzer sagt Danke an chris-ka für diesen Beitrag:
  • MarcoH83
Antworten Top
#5
Okey, jetzt funktioniert es halbwegs, denn bei der zweiten Leerzeile stoppt der Export.

Edit: funktioniert! Lag daran dass meine Hyperlinks nur wie solche aussahen.

Vielen Dank für dein schnelle Hilfe!
Antworten Top
#6
Hallo,

also ich bin sehr dafür, dass Du bei Office-Lösung Bescheid gibt, dass es hier gelöst wurde.

Gruß
Microsoft Excel Expert · Microsoft Most Valuable Professional (MVP) :: 2011-2019 & 2020-2022 :: 10 Awards
https://de.excel-translator.de/translator :: Online Excel-Formel-Übersetzer :: Funktionen :: Fehlerwerte :: Argumente :: Tabellenbezeichner
Antworten Top
#7
erledigt
Antworten Top
#8
Ein Frage noch dazu,

Wie muss ich den Code ändern, wenn die Formatierung kein direkter Hyperlink sondern in der Formel "=Hyperlink(…)" steht?
Antworten Top
#9
Oder:


Code:
Sub M_snb()
   For Each it In Selection.Hyperlinks
      FileCopy it.Address, Application.DefaultFilePath & "\" & Dir(it.Address)
   Next
End Sub
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Antworten Top
#10
Hi,

versuche mal
If Cells(lngRow, "AG").Hyperlinks.Count > 0 Or Cells(lngRow, "AG").Formula Like "=HYPER*" Then

diese Zeile mit dem fett geschrieben Text  zu ergänzen
lg Chris
Feedback nicht vergessen.
[Bild: v.gif]
3a2920576572206973742064656e20646120736f206e65756769657269672e
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste