Vernküpfung der Arbeitsmappe
#1
Hallo Zusammen,

Ich habe ein Problem, bei dem Euer Wissen in WSH ( Windows Script Host) gefragt ist. Ich persönlich kenne mich darin nicht aus und habe bei meinen Recherchen keine verwertbare Antwort gefunden.
Folgendes möchte ich erreichen.
Durch den Command Button wird folgender Code ausgeführt, der die Mappe mit einem aus Zellinhalten zusammengesetzten Namen an einem zu wählendem Ort speichert. im Anschluss daran wird eine Verknüpfung erstellt, die derzeit noch auf dem Desktop abgelegt wird.
Ich möchte gerne diese Verknüpfung jedoch in einem  fixen Ordner im lokalen Netz ablegen. zB L:\ordner_1\ordner_2
Nun kenne ich mich, wie gesagt, mit Script nicht aus und stolper immer wieder über WSH.SpecialFolders("Desktop"), jedoch nicht über eine Anweisung, wie ich einen anderen Pfad deklarieren kann.
Vielleicht ist von Euch jemand dabei, der´s kann.

Das Makro sieht so aus: (ehrlicherweise aus Netzstücken zusammengesetzt - funktioniert aber!)
Code:
Sub AktiveMappeAufDesktopVerknüpfen()
  
   Dim oWSH As Object
   Dim oCS As Object
   Dim strDesktop As String
  
   savedFile = Application.GetSaveAsFilename(InitialFileName:="BuZ" & [A1] & [B1], fileFilter:="Excel-Arbeitsmappe, *.xlsm")
   If savedFile <> "Falsch" Then ActiveWorkbook.SaveAs savedFile
  
   Set oWSH = CreateObject("WScript.Shell")
   strDesktop = oWSH.SpecialFolders("Desktop")
   Set oCS = oWSH.CreateShortcut(strDesktop & _
       "\" & ActiveWorkbook.Name & ".lnk")
  
   With oCS
      .TargetPath = ActiveWorkbook.FullName
      .Save
   End With
  
   Set oCS = Nothing
   Set oWSH = Nothing
  
End Sub

Ich danke Euch.
Gruß
Michael
Win 10
Office 2010 & 2016
Top
#2
Hallo Michael,

statt
Set oCS = oWSH.CreateShortcut(strDesktop & "\" & ActiveWorkbook.Name & ".lnk")
einfach
Set oCS = oWSH.CreateShortcut("L:\ordner_1\ordner_2\" & ActiveWorkbook.Name & ".lnk")
Gruß Uwe
[-] Folgende(r) 1 Nutzer sagt Danke an Kuwer für diesen Beitrag:
  • Mick-DUS
Top
#3
Ich danke Dir für die funktionierende Antwort.

... nach der Pflicht kommt bekanntlich die Kür,
besteht die Möglichkeit, dass der Name der Verknüpfung zwar die Bezeichnung der Datei enthält, jedoch nicht die Dateiendung? (Ich weiß ja, dass es eine Makroarbeitsmappe ist.)

Beste Grüße
Michael
Win 10
Office 2010 & 2016
Top
#4
Hallo Michael,

ohne Dateiendung z.B. so:
Set oCS = oWSH.CreateShortcut("L:\ordner_1\ordner_2\" & _
         Left(ActiveWorkbook.Name, InStrRev(ActiveWorkbook.Name, ".") - 1) & ".lnk")
Gruß Uwe
[-] Folgende(r) 1 Nutzer sagt Danke an Kuwer für diesen Beitrag:
  • Mick-DUS
Top
#5
.....cool !!!
Gruß und schönen Tag, Michael
Win 10
Office 2010 & 2016
Top


Gehe zu:


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