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.

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
Antworten 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
Antworten 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
Antworten 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
Antworten Top
#5
.....cool !!!
Gruß und schönen Tag, Michael
Win 10
Office 2010 & 2016
Antworten Top


Gehe zu:


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