Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1876to1880
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

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.

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
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

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige