Ich habe eine xlsx
Makro-Datei aktiviert. Wie kann ich es im Task-Manager so einstellen, dass der Task-Manager jeden Tag um 9 Uhr die Arbeitsmappe öffnet, das Makro auslöst und die Arbeitsmappe schließt.
Bisher verwende ich
Application.OnTime . . .
Aber ich weiß, dass das Öffnen der xlsm-Datei unbequem ist
Verwenden Sie lieber vbs markiert sind, wie Sie angegeben haben
vbs
, eine Textdatei mit einer Erweiterung .vbs (siehe Beispielcode unten) vbs
auszuführen.
vbs
, um die workbook
zur geplanten Zeit zu öffnen, und dann entweder:
Private Sub Workbook_Open()
-Ereignis im Modul ThisWorkbook
, um Code auszuführen, wenn die Datei geöffnet wird Application.Run
in vbs
, um das Makro Siehe dieses Beispiel für den späteren Ansatz in Excel wird ausgeführt Windows Taskplaner
Beispiel vbs
%Vor%Ich habe einen Blog von Kim empfohlen, um das zu tun und es funktioniert gut für mich. Siehe Blog
Die automatische Ausführung von Makros kann mit Hilfe einer VB-Skript-Datei erreicht werden, die von Windows Task Scheduler zu bestimmten Zeiten aufgerufen wird.
Denken Sie daran, "YourWorkbook" durch den Namen der Arbeitsmappe zu ersetzen, die Sie öffnen möchten, und ersetzen Sie "YourMacro" durch den Namen des Makros, das Sie ausführen möchten.
Sehen Sie sich die VB-Skriptdatei an (einfach RunExcel.VBS genannt):
%Vor%Sie können dieses VB-Skript an der Eingabeaufforderung testen:
%Vor%Nachdem Sie die VB-Skriptdatei und die Arbeitsmappe getestet haben, so dass sie Ihren Vorstellungen entspricht, können Sie dann mit dem Microsoft Taskplaner (Systemsteuerung- & gt; Verwaltungstools - & gt; Taskplaner) cscript.exe RunExcel ausführen .vbs 'automatisch für Sie.
Bitte beachten Sie, dass der Pfad des Makros im korrekten Format und in einfachen Anführungszeichen stehen sollte wie:
%Vor%Code unten kopiert von - & gt; Hier
Zunächst müssen Sie Ihr Arbeitsbuch als Makro-fähiges Arbeitsbuch speichern. Es müsste also xlsm
nicht xlsx
sein. Andernfalls deaktiviert Excel die Makros, da sie nicht aktiviert sind.
Legen Sie Ihr VBScript (C: \ excel \ tester.vbs) fest. Das Beispiel Sub "test ()" muss sich in Ihren Modulen im Excel-Dokument befinden.
%Vor%Legen Sie dann Ihren Zeitplan fest, geben Sie ihm einen Namen und einen Benutzernamen / ein Passwort für den Offline-Zugriff.
Dann müssen Sie Ihre Aktionen und Trigger einstellen.
Legen Sie Ihren Zeitplan fest (Auslöser)
Aktion, legen Sie Ihr VBScript so fest, dass es mit Cscript.exe geöffnet wird, damit es im Hintergrund ausgeführt wird und nicht durch eine Fehlerbehandlung, die vBScript aktiviert hat, aufgelegt wird.
Drei wichtige Schritte - Vorgehensweise Planen Sie eine Datei excel.xls (m)
eineinfach :
MEHR DETAIL ...
'
%Vor%'
set Programm / script: = C: \ Windows \ System32 \ cscript.exe
set Argumente hinzufügen (optional): = C: \ MyVbsFile.vbs
Das sollte funktionieren.
Lass es mich wissen!
Rod Bowen
Ich habe einen viel einfacheren Weg gefunden und ich hoffe, es funktioniert für dich. (unter Windows 10 und Excel 2016)
Erstellen Sie ein neues Modul und geben Sie den folgenden Code ein: Sub auto_open () 'Makro wird ausgeführt (muss nicht in diesem Modul sein, nur in diesem Arbeitsbuch End Sub
Richten Sie eine Aufgabe über den Taskplaner ein und legen Sie das "Programm, das ausgeführt werden soll" als "Excel" fest (gefunden unter C: \ Programme (x86) \ Microsoft Office \ root \ Office16). Setzen Sie dann die Option "Argumente (optional) hinzufügen: als Dateipfad zur Makro-aktivierten Arbeitsmappe. Beachten Sie, dass sowohl der Pfad zu Excel als auch der Pfad zur Arbeitsmappe in doppelten Anführungszeichen stehen muss."
* Siehe Beispiel von Rich, bearbeitet von Community, für ein Bild des Windows-Scheduler-Bildschirms.