Herbers Excel-Forum - das 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
Userbild
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


Excel-Beispiele zum Thema "Per VBA aktuelle Datei in Autostart-Ordner"
Aktuellen Dateipfad aktualisieren Arbeitsmappe mit dem Namen des aktuellen Datums öffnen
Addition bis zum aktuellen Datum Aktueller Arbeitsblattname in Formel
Zur Zelle mit aktuellem Datum scrollen Aktuelle Zeit über UserForm eintragen und Rennzeit berechnen
Bei Eintrag in Spalte A aktuelle Zeile kopieren Über Schaltfläche neues Blatt mit aktuellem Datum einfügen
Aktuelle Geburtstage beim Öffnen der Arbeitsmappe anzeigen Daten der aktuellen Zeile im Kontextmenü anzeigen
Bewerten Sie hier bitte das Excel-Portal