PDA

Vollständige Version anzeigen : Arbeitsmappe automatisch öffnen


phobos
05.04.2012, 13:09
Hi!

Eine Arbeitsmappe automatisch beim Hochfahren des Rechners ausführen ist klar.
Doch wie kann man diese Arbeitsmappe automatisch in bestimmten Zeitabständen starten lassen damit der Bearbeiter, während er an anderen Programmen arbeitet, die Info bekommt das er jetzt die Arbeitsmappe bearbeiten muss.?

EarlFred
05.04.2012, 13:25
Hallo mario,

dafür würd' ich den Windows-Taskplaner verwenden.

Andernfalls: Bitte eine brauchbare Beschreibung des Wunsches ausformulieren.

Grüße
EarlFred

phobos
05.04.2012, 13:46
Hi EarlFred.

Die Arbeitsmappe wird bearbeitet und sollte mittels Button gesichert und geschlossen werden.
Ausgehend vom Zeitpunkt des Schließens soll die Arbeitsmappe 30 minuten später wieder starten, sodass der Bearbeiter sofort sieht das er die Mappe wieder bearbeiten soll. u.s.w.
Dies eben mehrmals über den Tag verteilt.

EarlFred
05.04.2012, 13:57
Hallo mario,

Deinen wirklich ausführlichen Erläuterungen entnehme ich, dass Du den Task-Planer deshalb nicht verwenden kannst, weil die Zeitpunkte des Öffnens variabel sind (abhängig, wie lange der User X in der Datei arbeitet), nämlich genau 30 Minuten nach dem letzten Schließen liegen sollen und daher nicht planbar sind.
Mit Excel-Bordmitteln kannst Du das vergessen. Zwar gibt's Application.OnTime, aber das hängt eben an der Application: Sobald die einmal dicht ist, ist's vorbei mit dem Automatismus.
Ich fürchte, für einen sichern Ablauf ist deutlich mehr nötig, als man mal eben nebenbei schreiben kann.
Was sagt Tante Google zu Deiner Frage? Welche Hinweise hast Du erhalten und bisher verfolgt?

Grüße
EarlFred

phobos
05.04.2012, 14:27
Die Lösung mit dem Taskplaner habe ich gefunden, doch die Lösung passt nicht 100%ig.
Wenn es so wie ich das gerne hätte nicht funktioniert dann muss ich auf den Taskplaner zurückgreifen und eben abstriche hinnehmen.

IngGi
05.04.2012, 14:36
Hallo Mario,

das Einstellen des Tasks in den Taskplaner lässt sich über die DOS-Shell automatisieren. Von Excel-VBA aus (in den Code deines Schließen-Buttons integriert) geht das mit folgender Anweisung:

<blockquote><div style='background-color: #F2F2FF; border: 1px solid #3300B2; padding: 0px 24px;'><pre style='font-size: 12px; padding: 0px 10px;'>strZeit = Format<span style='color: #B200CC;'>(</span>Now +<span style="color: #FF0000"> 1</span> /<span style="color: #FF0000"> 48</span>, <span style='color: #CC9900;'>"hh:mm:ss"</span><span style='color: #B200CC;'>)</span><br>Shell <span style='color: #CC9900;'>"cmd.exe /C schtasks /create /ru Benutzername /rp Passwort "</span> & _<br> <span style='color: #CC9900;'>"/sc einmal /tn Erinnerung /tr c:\temp\temp.xls /st "</span> & strZeit<br></pre><hr style='color: #3300B2; background: #3300B2; height: 1px;'><p style='font-size: 8px; font-family: Verdana; text-align: right;'>VBA/HTML - CodeConverter für Excelforen<br>AddIn für Excel XP+2003 - komplett in VBA geschrieben von IngGi<br>Anbindung an VBE-Kontextmenü geklaut ;-) bei: <a href='http://www.cpearson.com/excel/VbeMenus.aspx'>http://www.cpearson.com/excel/VbeMenus.aspx</a></p></div></blockquote>

Benutzername, Passwort des Benutzers sowie Pfad und Name der Exceldatei musst du anpassen. Infos zu den Parametern der schtasks-Anweisung erhältst du nach Eingabe von "schtasks /create /?" in der DOS-Shell (Eingabe versteht sich ohne die Anführungszeichen).

Gruß Ingolf

phobos
05.04.2012, 14:38
Eine Lösung mit der ich leben könnte wäre folgende. Doch wie:rolleyes:

Wie bringe ich eine minimierte Mappe nach einer bestimmten Zeit in den Vordergrund? (Bei laufenden anderen Programmen)

IngGi
05.04.2012, 14:47
Hallo Mario,

jetzt ist mir gerade noch ein Problem aufgefallen. Der Name des Tasks im Taskmanager ("Erinnerung" in meinem Code) ist zu dem Zeitpunkt, zu dem der Task eingestellt wird, bereits vergeben, da der vorangehende Task erst nach dem Schließen der Excelmappe automatisch aus dem Taskmanager gelöscht wird. Daher muss der Name von Mal zu Mal wechseln, was ich im folgenden in Kombination mit der Ausführungszeit gelöst habe:

<blockquote><div style='background-color: #F2F2FF; border: 1px solid #3300B2; padding: 0px 24px;'><pre style='font-size: 12px; padding: 0px 10px;'><span style="color: #0000FF">Dim</span> strZeit <span style="color: #0000FF">As</span> <span style="color: #0000FF">String</span><br><br>strZeit = Format<span style='color: #B200CC;'>(</span>Now +<span style="color: #FF0000"> 1</span> /<span style="color: #FF0000"> 48</span>, <span style='color: #CC9900;'>"hh:mm:ss"</span><span style='color: #B200CC;'>)</span><br>Shell <span style='color: #CC9900;'>"cmd.exe /C schtasks /create /ru Benutzername /rp Passwort "</span> & _<br> <span style='color: #CC9900;'>"/sc einmal /tn Erinnerung"</span> & Replace<span style='color: #B200CC;'>(</span>strZeit, <span style='color: #CC9900;'>":"</span>, <span style='color: #CC9900;'>""</span><span style='color: #B200CC;'>)</span> & _<br> <span style='color: #CC9900;'>" /tr c:\temp\temp.xls /st "</span> & strZeit<br></pre><hr style='color: #3300B2; background: #3300B2; height: 1px;'><p style='font-size: 8px; font-family: Verdana; text-align: right;'>VBA/HTML - CodeConverter für Excelforen<br>AddIn für Excel XP+2003 - komplett in VBA geschrieben von IngGi<br>Anbindung an VBE-Kontextmenü geklaut ;-) bei: <a href='http://www.cpearson.com/excel/VbeMenus.aspx'>http://www.cpearson.com/excel/VbeMenus.aspx</a></p></div></blockquote>

Sorry für den kleinen Fauxpas.

Gruß Ingolf

EarlFred
05.04.2012, 14:52
Hallo Ingolf,

prima Lösung!

Grüße
EarlFred

phobos
05.04.2012, 14:53
Hoppala. Danke Ingolf.

Aber was ist das? Noch nie gesehen.

Wie ist das mit dem "schtasks"

Muss ich jetzt nur den Code in in den Button schreiben oder muss ich noch irgendwo anders was rein schreiben?

Das Passwort ist dann wohl mein Anmeldepasswor, oder?
Wenn ich das in meinen Code schreibe wird wohl mein Firma nicht sehr erfreut sein bzgl. Sicherheit...:boah:

IngGi
05.04.2012, 14:53
Hallo Mario,

und es passt immer noch nicht:

Was bei mir für einen kleinen Test unproblematisch ist, geht in der realen Anwendung natürlich nicht. Bei meinem Code müsstest du ja das Passwort des Benutzerkontos im Klartext im Code speichern. Lass den Parameter einfach weg, dann wird der Benutzer beim Schließen der Mappe nach dem Passwort gefragt. Das ist dann zwar lästig, das Passwort jedesmal einzugeben, geht aber nicht anders.

Gruß Ingolf

IngGi
05.04.2012, 14:55
Hallo Mario,

und als Antwort auf deine letzte Frage: Der Code kommt einfach zusätzlich zu dem Code in den Schließen-Button. Ich gehe davon aus, dass dort schon Code für das Speichern der Arbeitsmappe hinterlegt ist.

Gruß Ingolf

phobos
05.04.2012, 15:13
Das Passwort habe ich entfernt(besser so!:mrcool: )

Hab mal die Zeit auf 1/392 also ca. 4 Minuten eingestellt und den Code ausgeführt

DasIch gehe davon aus, dass dort schon Code für das Speichern der Arbeitsmappe hinterlegt ist.

war natürtlich vorhanden.

nach Ablauf der 4 Minuten hat sich nix getan.

Mein Code sieht so aus
strzeit = Format(Now + 1 / 392, "hh:mm")
Shell "cmd.exe /C schtasks /create /ru xxx " & _
Replace(strzeit, ":", "") & _
"/sc einmal /tn Erinnerung /tr C:\Users\xxx\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\yyy.xls /st " & strzeit

IngGi
05.04.2012, 15:23
Hallo Mario,

das Replace sitzt an der falschen Stelle:
Shell "cmd.exe /C schtasks /create /ru xxx /sc einmal /tn Erinnerung" & _
replace(strZeit, ".", "") & " /tr C:\Users\xxx\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\yyy.xls /st " & strzeit, vbMaximizedFocus

Hinten habe ich noch ein "vbMaximizedFocus" angehängt, damit das DOS-Fenster für die Passworteingabe maximiert dargestellt und nicht etwa vergessen wird.

Gruß Ingolf

phobos
05.04.2012, 15:57
Also da geht weder die Excelmappe auf noch das DOS Fenster.

komme aber erst am Dienstag wieder dazu hier weiter zu machen.

Vielen Dank bis hierhin Ingolf.

Frohe Eiersuche

IngGi
05.04.2012, 16:09
Hallo Mario,

möglicherweise ist das ein Windows-Versionsproblem. Ich habe hier im Büro noch WinXP. Heute abend oder über Ostern probier ich das mal zuhause unter Win7 aus, vielleicht ergibt sich da ja etwas. Das würde ich dann gleich hier reinschreiben. Ansonsten wäre ich erst wieder ab Mittwoch hier im Forum. Auch dir und anderen Mitlesern schöne Ostern.

Gruß Ingolf

phobos
17.04.2012, 10:35
Servus Ingolf!

Kannst du dich dem nochmal annehmen?