Anzeige
Archiv - Navigation
1708to1712
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Link aus Zelle in Verzeichnis exportieren

Link aus Zelle in Verzeichnis exportieren
04.09.2019 12:41:06
henry
Hallo zusammen,
mit diesem Macro importiere ich Einträge aus einem Verzeichnis.
Es handelt sich dabei um Verknüpfungen zu Fotos und Filmsequenzen
auf meiner Festplatte.
Range("I1").Select
Dim xFSO As Object
Dim xFolder As Object
Dim xFile As Object
Dim xFiDialog As FileDialog
Dim xPath As String
Dim i As Integer
Set xFiDialog = Application.FileDialog(msoFileDialogFolderPicker)
If xFiDialog.Show = -1 Then
xPath = xFiDialog.SelectedItems(1)
End If
Set xFiDialog = Nothing
If xPath = "" Then Exit Sub
Set xFSO = CreateObject("Scripting.FileSystemObject")
Set xFolder = xFSO.GetFolder(xPath)
For Each xFile In xFolder.Files
i = i + 1
ActiveSheet.Hyperlinks.Add Cells(i, 10), xFile.Path, , , xFile.Name
Next
Nun suche ich nach einer 'Umkehrfunktion', die mir die bearbeitete Excel-Liste wieder
in ein Verzeichnis zurückexportiert.
Wer kann mir hier mit einer kurzen Befehlssequenz helfen.
Gruß Henry

15
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Link aus Zelle in Verzeichnis exportieren
04.09.2019 14:44:55
Nepumuk
Hallo Henry,
ein Hyperlink enthält keine Datei, sondern nur den Pfad zu dieser.
Gruß
Nepumuk
AW: Link aus Zelle in Verzeichnis exportieren
04.09.2019 15:10:59
henry
Hallo Nepomuk,
ja, es handelt sich um mehrere Links und nicht um Dateien.
Ich hatte auch nicht von 'Datei' gesprochen.
Wie auch immer, diese Links stehen in einem Verzeichnis auf der Festplatte,
werden nach Excel importiert und bearbeitet.
Wie kann ich die bearbeitete Excel-Liste (also die Links)
wieder zurück in ein Verzeichnis exportieren?
Gruß Günter
AW: Link aus Zelle in Verzeichnis exportieren
04.09.2019 15:33:23
Nepumuk
Hallo Henry,
wenn du die Datei von der Festplatte per Hyperlink öffnest, bearbeitest und wieder speicherst, dann ist doch die Datei auf der Festplatte geändert das hat mit dem Hyperlink nichts zu tun. Per Link öffnest du immer die Originaldatei. Die Links liegen auch nicht auf der Festplatte, die verweisen nur auf die Dateien und Hyperlinks kannst du auch nicht speichern, auf Festplatten könntest "nur" du eine Verknüpfung zur Originaldatei erstellen.
Gruß
Nepumuk
Anzeige
AW: Link aus Zelle in Verzeichnis exportieren
04.09.2019 16:37:26
henry
Hallo Nepomuk,
ich denke, hier gibt es ein Mißverständnis!
Ich bearbeite NICHT die Datei, auf die der Link verweist, sondern die Links an sich.
Im wesentlichen wird eine Auswahl nach gewissen Kriterien getroffen.
Also werden nicht passende Links entfernt und die den Kriterien entsprechenden Links sollen
auf Festpaltte in Ordner zurückgeschrieben werden.
Ziel ist, dann in einem Ordner nur die Links zu haben, die meiner Auswahl entsprechen.
Als Beispiel:
Die Verlinkungen zu Bilddateien tragen im Namen eine Codierung zum Inhalt der Fotos (Urlaub, Tiere, etc.).
Die Links (nicht die Dateien!)werden in Excel eingelesen, mit einer Suchmaske verglichen und nur die passenden Links sollen zurückgeschrieben werden.
Gruß Günter
Anzeige
AW: Link aus Zelle in Verzeichnis exportieren
04.09.2019 16:44:45
Nepumuk
Hallo Henry, oder Günter?
Links an sich können nicht gespeichert werden, die bestehen ja nur aus Text. Willst du jetzt die Dateien die sich hinter den Links verbergen in einen neuen Ordner kopiert haben oder Verknüpfungen zu diesen Dateien?
Gruß
Nepumuk
AW: Link aus Zelle in Verzeichnis exportieren
04.09.2019 17:59:27
henry
Hallo Nepumuk,
nur die Verknüpfungen, die in Excel eingelesen, selektiert und 'ausgedünnt' wurden, sollen
in einem Verzeichnis meiner Wahl gespeichert werden.
Die Dateien bleiben ortsfest und unverändert!
Gruß Henry

Günter im wirklichen Leben, Henry im Forum :-)

AW: Link aus Zelle in Verzeichnis exportieren
04.09.2019 18:22:15
Nepumuk
Hallo Henry,
teste mal:
Option Explicit

Public Sub CreateLinks()
    
    Const LINK_PATH As String = "H:\Links\" 'Pfad anpassen !!!
    
    Dim objHyperlink As Hyperlink
    Dim objWSHShell As Object, objShortcut As Object
    Dim strFilename As String, strPath As String
    
    Set objWSHShell = CreateObject(Class:="WScript.Shell")
    
    For Each objHyperlink In Worksheets("Tabelle1").Hyperlinks 'Tabellennamen anpassen !!!
        
        strPath = objHyperlink.Address
        strFilename = Dir$(PathName:=strPath)
        
        With objWSHShell
            Set objShortcut = .CreateShortcut(LINK_PATH & _
                Left$(strFilename, InStrRev(strFilename, ".") - 1) & ".lnk")
        End With
        
        With objShortcut
            .Targetpath = strPath
            .WorkingDirectory = Left$(strPath, Len(strPath) - Len(strFilename))
            .WindowStyle = vbMaximizedFocus
            .Save
        End With
    Next
    
    Set objShortcut = Nothing
    Set objWSHShell = Nothing
    
End Sub

Gruß
Nepumuk
Anzeige
AW: Link aus Zelle in Verzeichnis exportieren
04.09.2019 18:33:19
henry
Hallo Nepumuk,
danke erstmal.
Werde ich morgen testen und dann melde ich mich wieder.
Gruß
Henry
AW: Link aus Zelle in Verzeichnis exportieren
05.09.2019 09:28:16
henry
Hallo Nepumuk,
funktioniert nicht ganz:
Beim Befehl .Save erhalte ich die Fehlermeldung:
"Die Verknüpfung nnnn wurde nicht gespeichert".
Habe dann mal den Befehl .Save übersprungen,
Dann werden richtigerweise alle Einträge wie gewünscht in das Verzeichnis geschrieben, aber ohne Link dahinter.
Also, im Prinzip funktioniert es, aber noch ohne Transport der Verknüpfung (des links).
Gruß Henry
AW: Link aus Zelle in Verzeichnis exportieren
05.09.2019 09:36:40
henry
Nachtrag:
Habe dann mal der Variablen strPath einen Wert manuell zugewiesen, dann funktioniert es.
Also wird wohl strPath falsch (?) belegt.
Anzeige
AW: Link aus Zelle in Verzeichnis exportieren
05.09.2019 12:33:00
henry
... und noch ein Nachtrag.
Habe den Fehler mittlerweile gefunden.
Der Pfad wurde nicht korrekt ausgelesen.
Aber jetzt noch eine abschließende Bitte:
Die Sequenz mit
"For Each objHyperlink In Worksheets ..."
würde ich gern durch einen konkreten Zellbereich ersetzen
kenne aber die Syntax dafür nicht.
Kannst du mir da bitte nochmal helfen.
Für die Hilfe bisher schon mal vielen Dank, war für mich sehr nützlich!
Gruß
Henry
AW: Link aus Zelle in Verzeichnis exportieren
05.09.2019 13:20:12
Nepumuk
Hallo Henry,
teste mal:
Option Explicit

Public Sub CreateLinks()
    
    Const LINK_PATH As String = "H:\Links\" 'Pfad anpassen !!!
    
    Dim objHyperlink As Hyperlink
    Dim objWSHShell As Object, objShortcut As Object
    Dim strFilename As String, strPath As String
    
    Set objWSHShell = CreateObject(Class:="WScript.Shell")
    
    For Each objHyperlink In Worksheets("Tabelle1").Hyperlinks 'Tabellennamen anpassen !!!
        
        If Not Intersect(objHyperlink.Range, Selection) Is Nothing Then
            
            strPath = objHyperlink.Address
            strFilename = Dir$(PathName:=strPath)
            
            With objWSHShell
                Set objShortcut = .CreateShortcut(LINK_PATH & _
                    Left$(strFilename, InStrRev(strFilename, ".") - 1) & ".lnk")
            End With
            
            With objShortcut
                .Targetpath = strPath
                .WorkingDirectory = Left$(strPath, Len(strPath) - Len(strFilename))
                .WindowStyle = vbMaximizedFocus
                .Save
            End With
        End If
    Next
    
    Set objShortcut = Nothing
    Set objWSHShell = Nothing
    
End Sub

Gruß
Nepumuk
Anzeige
AW: Link aus Zelle in Verzeichnis exportieren
05.09.2019 13:37:30
henry
Hallo Nepumuk,
hast ja, wenn ich das richtig sehe, nur euine Zeile eingefügt.
If Not Intersect(objHyperlink.Range, Selection) Is Nothing Then
Das hat die Fehlermeldung zur Folge:
"Fehler beim Kompilieren
Next ohne For"
Gruß
henry
AW: Link aus Zelle in Verzeichnis exportieren
05.09.2019 13:41:56
henry
Oh stop, hatte eine zeile übersehen
Teste gleich nochmal.
Sorry
AW: Link aus Zelle in Verzeichnis exportieren
05.09.2019 13:45:18
henry
Sieht sehr gut aus jetzt.
Denke das wars.
Nochmal vielen Dank.
Gruß Henry

303 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige