Microsoft Excel

Herbers Excel/VBA-Archiv

Per VBA aktuelle Datei in Autostart-Ordner


Betrifft: Per VBA aktuelle Datei in Autostart-Ordner von: Stefan K.
Geschrieben am: 09.09.2019 15:15:19

Hallo zusammen,

hat jemand eine Idee, ob und wie man von der aktuell geöffneten Datei per VBA eine Verknüpfung im Autostart-Ordner erzeugen kann ? Ich bin da mit meinem Latein irgendwie schon am Ende... :-)

Lieben Dank und Gruß
Stefan

  

Betrifft: AW: Per VBA aktuelle Datei in Autostart-Ordner von: 1712042.html
Geschrieben am: 09.09.2019 16:12:19

Hallo Stefan,

teste mal:

Option Explicit

Public Sub CreateLINK()
    Dim objWSHShell As Object, objShortcut As Object
    Dim strFilename As String
    strFilename = Left$(ThisWorkbook.Name, InStrRev(ThisWorkbook.Name, ".") - 1)
    Set objWSHShell = CreateObject("WScript.Shell")
    With objWSHShell
        Set objShortcut = .CreateShortcut(Application.StartupPath & "\" & strFilename & ".lnk")
    End With
    With objShortcut
        .Targetpath = ThisWorkbook.FullName
        .WorkingDirectory = Application.StartupPath
        ' .Hotkey = "CTRL+SHIFT+F"
        .WindowStyle = vbMaximizedFocus
        ' .IconLocation = "D:\Eigene Dateien\Eigene Bilder\Icons\bug.ico"
        .Save
    End With
    Set objShortcut = Nothing
    Set objWSHShell = Nothing
End Sub

Gruß
Nepumuk
  

Betrifft: AW: Per VBA aktuelle Datei in Autostart-Ordner von: 1712145.html
Geschrieben am: 10.09.2019 07:29:15

Guten Morgen Nepumuk,

vielen Dank für Deine Rückmeldung.
Also der VBA-Code läuft zwar ohne Probleme durch, aber ohne den gewünschten Erfolg.
Ich habe jetzt mal die Ordner verglichen.

Der Pfad, wo derzeit (bei uns im Dienst) der Autostartordner liegt heißt:
C:\Users\MeinName\AppData\Roaming\Microsoft\Windows\Startmenü\Programme\Autostart

Wenn ich die Variable objShortcut aus obigem Code abfrage erscheint jedoch dieser Pfad:
C:\Users\MeinName\AppData\Roaming\Microsoft\Excel\XLSTART\

Und dort liegt auch die Verknüpfung. Soweit alles richtig, nur im falschen Ordner.
Muss/kann ich jetzt den Pfad fest vorgeben und mit Environ("Username") den Pfad entsprechend anpassen ?
Oder hast Du noch eine Idee, wie ich den Link in den richtigen Ordner bekommen ?

Besten Dank und Gruß
Stefan

  

Betrifft: AW: Per VBA aktuelle Datei in Autostart-Ordner von: 1712150.html
Geschrieben am: 10.09.2019 08:18:10

Hallo Stefan,

schau mal in den Optionen - Erweitert - Allgemein - Beim Start alle Dateien öffnen in: ob da dein Ordner angegeben ist.

Gruß
Nepumuk

  

Betrifft: AW: Per VBA aktuelle Datei in Autostart-Ordner von: 1712156.html
Geschrieben am: 10.09.2019 08:42:57

Ich habe dort nachgesehen, kann aber keine Ordnerzuweisung erkennen



Gruß
Stefan

  

Betrifft: AW: Per VBA aktuelle Datei in Autostart-Ordner von: 1712190.html
Geschrieben am: 10.09.2019 10:14:04

Hallo Stefan,

dann musst du den Pfad zusammenbauen. In den Roaming-Ordner kommst du so:

Environ$("APPDATA")

Gruß
Nepumuk
  

Betrifft: AW: Per VBA aktuelle Datei in Autostart-Ordner von: 1712258.html
Geschrieben am: 10.09.2019 13:51:12

Hi Nepumuk,

so... sieht zwar nicht so schön aus, aber ich habe es dank Deiner Hilfe hinbekommen.
Die Verknüpfung wird im richtigen Ordner automatisch angelegt, hervorragend.

Vielen Dank nochmal für die Unterstützung.
Liebe Grüße
Stefan

Public Sub CreateLINK()
    Dim objWSHShell As Object, objShortcut As Object
    Dim strFilename, strFilepath2 As String
    strFilename = Left$(ThisWorkbook.Name, InStrRev(ThisWorkbook.Name, ".") - 1)
    strFilepath2 = "\Microsoft\Windows\Startmenü\Programme\Autostart"
    Set objWSHShell = CreateObject("WScript.Shell")
    With objWSHShell
    Set objShortcut = .CreateShortcut("C:\Users\KrokeS\AppData\Roaming\Microsoft\Windows\Start  _
Menu\Programs\Startup\" & strFilename & ".lnk")
    End With
    With objShortcut
        .Targetpath = ThisWorkbook.FullName
        .WorkingDirectory = Environ$("APPDATA") & strFilepath2     'Application.StartupPath
        ' .Hotkey = "CTRL+SHIFT+F"
        .WindowStyle = vbMaximizedFocus
        ' .IconLocation = "D:\Eigene Dateien\Eigene Bilder\Icons\bug.ico"
        .Save
    End With
    Set objShortcut = Nothing
    Set objWSHShell = Nothing
End Sub

Beiträge aus dem Excel-Forum zum Thema "Per VBA aktuelle Datei in Autostart-Ordner"