Das Archiv des Excel-Forums

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 download Arbeitsmappe mit dem Namen des aktuellen Datums öffnen download
Addition bis zum aktuellen Datum download Aktueller Arbeitsblattname in Formel download
Zur Zelle mit aktuellem Datum scrollen download Aktuelle Zeit über UserForm eintragen und Rennzeit berechnen download
Bei Eintrag in Spalte A aktuelle Zeile kopieren download Über Schaltfläche neues Blatt mit aktuellem Datum einfügen download
Aktuelle Geburtstage beim Öffnen der Arbeitsmappe anzeigen download Daten der aktuellen Zeile im Kontextmenü anzeigen download
Daten der aktuellen Zeile in der Excel-Datenmaske anzeigen download Aktuellen Bereich in den Spalten A:F als Druckbereich download
Aktuellen Wechselkurs abrufen download Tabellenblatt mit dem aktuellen Monatsnamen drucken download
Mehrspaltige UserForm-ListBox füllen und aktuellen Wert einlesen download Aktuelle Zeit in UserForm darstellen download
Daten in Abhängigkeit zum aktuellen Datum löschen download Nur Eintragungen in aktuellem Monat zulassen download
Markierung des jeweils aktuellen Datums download Alle "u" bis zum aktuellen Datum in "U" umwandeln download
Auslesen der aktuellen Mausposition download Bei Blattwechsel in die Zelle mit dem aktuellen Datum springen download
Zellen in Abhängigkeit der aktuellen Uhrzeit markieren download UserForm mit Kalendersteuerelement immer mit aktuellem Datum download
In einer Arbeitsmappe mit Monatsblättern zum aktuellen Datum download Datei öffnen, wenn sie am aktuellen Tag geändert wurde download
Eintrag der aktuellen Kalenderwoche über ShortCut download Einlesen des aktuellen Datums und einer Datumsreihe download
Aktuellen Arbeitstag in allen Arbeitsblättern suchen. download Beim Öffnen der Arbeitsmappe auf aktuelles Datum prüfen download
Druckseite des aktuellen und aller Blätter ermitteln download Spalte mit aktuellem Datum markieren download