Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Dateieigenschaften

Forumthread: Dateieigenschaften

Dateieigenschaften
07.04.2022 14:40:28
MMRH
Hallo Allerseits,
ich arbeite viel mit Verknüpfungen in Windows. Die Originaldatei hat einen festen Speicherplatz und deren Verknüpfungen sind in verschiedenen thematisch passenden Ordnern.
Vor kurzem hat meine EDV-Abteilung einen Umzug meiner Daten vollzogen. Daher funktionieren meine Verknüpfungen nicht mehr.
Der Pfad ist an sich gleich, nur ist der Anfang abweichend. Als Beispiel:
Vorher: K:\Haus 2\Verträge\Beispiel.pdf
Nun: K:\Haus 3\Verträge\Beispiel.pdf
Mir stellt sich nun die Frage, ob man die Dateieigenschaften der Verknüpfungen per VBA ändern kann um aus Haus 2, Haus 3 zu machen, damit die Verknüpfungen wieder funktionieren. Manuell geht das. Wir reden aber von 100ten Dateien.
Dank im Voraus.
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Dateieigenschaften
07.04.2022 15:27:16
Fennek
Hallo,
vor langer Zeit habe ich diesen Code gefunden:

strPath = "C:\Temp\" ' anpassen - Pfad der Quelldatei
strPath = IIf(Right(strPath, 1) = "\", strPath, strPath & "\")
strFile = "xyz.pdf" ' anpassen - Name der Quelldatei
Set objWSH = CreateObject("WScript.Shell")
strDesktop = objWSH.SpecialFolders("Desktop")
Set objLink = objWSH.CreateShortcut(strDesktop & "\" & strFile & ".lnk")
With objLink
.Targetpath = strPath & strFile
.Save
End With
Vielleicht hilft es.
mfg
Anzeige
AW: Dateieigenschaften
07.04.2022 17:34:07
Firmus
Hi MMRH,
schau dir mal diesen Beitrag an: https://www.ms-office-forum.net/forum/showthread.php?t=324927
Für das nur Auslesen (erster Teil deiner Anforderung) siehe folgendes:
Getestet und als Lösung (für Auslesen) akzeptiert.

'Quelle: https://www.ms-office-forum.net/forum/showthread.php?t=324927
Option Explicit
Public Sub Verknuepfungen_auslesen()
Dim objShell As Object
Dim objFolder As Object
Dim objFile As Object
Dim objLink As Object
Dim xError As Long
Set objShell = CreateObject("Shell.Application")
Set objFolder = objShell.Namespace("C:\Users\username\Desktop\")
For Each objFile In objFolder.items
If objFile.IsLink Then
On Error Resume Next
Set objLink = objFile.GetLink
xError = Err.Number
On Error GoTo 0
If xError = 0 Then
Call MsgBox(objLink.Path & vbLf & objLink.Target.Path & vbLf & objLink.Description)
Else
Call MsgBox("Zugriff verweigert: " & vbLf & (objLink.Path & vbLf & objLink.Target.Path & vbLf & objLink.Description))
End If
End If
Next
Set objLink = Nothing
Set objFolder = Nothing
Set objShell = Nothing
End Sub
Gruß,
Firmus
Anzeige
Dateieigenschaften
08.04.2022 17:05:37
Anton
Hallo ,
probier es hiermit:

Sub b()
  Dim fso As Object, WshShell As Object, dia As FileDialog  
  Dim oLink As Object, oVerknuepfung As Object, sPfadNeu As String    
  Set fso = CreateObject("Scripting.FileSystemObject")  
  Set WshShell = CreateObject("WScript.Shell")  
  Set dia = Application.FileDialog(msoFileDialogFolderPicker)
  With dia
    .AllowMultiSelect = False  
    .Title = "Ordner mit Verknüpfungen auswählen"
    If .Show = -1 Then  
      For Each oLink In fso.getfolder(.SelectedItems(1)).Files    
        If LCase(fso.GetExtensionName(oLink)) = "lnk" Then    
          Set oVerknuepfung = WshShell.CreateShortcut(oLink)
          sPfadNeu = Replace(oVerknuepfung.TargetPath, "Haus 2", "Haus 3")
          If fso.FileExists(sPfadNeu) Then  
            oVerknuepfung.TargetPath = sPfadNeu
            oVerknuepfung.Save
          End If  
          Debug.Print oVerknuepfung.TargetPath
        End If  
      Next
    End If  
  End With  
  Set fso = Nothing  
  Set WshShell = Nothing  
End Sub  

mfg Anton
Anzeige
AW: Dateieigenschaften
11.04.2022 07:49:28
MMRH
Hallo Anton,
vielen Dank. Das übersteigt mein Verständnis von VBA um einige Level; wie zu erwarten war. Aber ich werde daran arbeiten.
Grüße & Dank an alle anderen.
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige