altago
Goto Top

Batch zum Öffnen und Protokollieren, wann Datei geschlossen wurde

Hallo zusammen,

ich hoffe ich habe die Frage korrekt zugeordnet.

Ich benötige eine Batch Datei, die eine bestimmte Excel Liste öffnet, diese dann in ein Log schreibt.
Der Batch soll aber so lange laufen, bis die Excel Liste geschlossen wurde.
Dieses schließen sollte möglichst auch protokolliert werden.

Die User, die diese Excel Liste per Batch öffnen, haben keinen Zugriff auf den Taskmanager!

Hier mein erster Ansatz, der das öffnen schon mal Protokolliert:

@echo off
CLS

start "" "Netzwerkpfad\Exceldateiname.xlsx"  

echo Urlaubskalender geöffnet am %DATE% um %TIME:~-11,2%:%TIME:~-8,2% Uhr von %USERNAME% >> \\Netzwerkpfad\logging.log

exit

Leider fehlt mit das warten der Batch Datei und das Protokollieren beim schließen der Excel Liste.

Vielen Dank im Voraus.

Content-Key: 842828846

Url: https://administrator.de/contentid/842828846

Printed on: April 26, 2024 at 22:04 o'clock

Member: IceAge
IceAge Jun 28, 2021 updated at 14:58:13 (UTC)
Goto Top
Probier mal folgendes... Pfade müssten ggfs. angepasst werden:
@echo off
CLS

echo Urlaubskalender geoeffnet am %DATE% um %TIME:~-11,2%:%TIME:~-8,2% Uhr von %USERNAME% >> \\Netzwerkpfad\logging.log
call "C:\Program Files (x86)\Microsoft Office\Office14\excel.exe" "Netzwerkpfad\Exceldateiname.xlsx"  
echo Urlaubskalender geschlossen am %DATE% um %TIME:~-11,2%:%TIME:~-8,2% Uhr von %USERNAME% >> \\Netzwerkpfad\logging.log
exit

Grüße I.
Member: ALTAGO
ALTAGO Jun 28, 2021 at 15:05:30 (UTC)
Goto Top
Das klappt soweit super, solange die User Excel haben.
Sollte der User aber nur eine OpenOffice Lösung in Form Libre haben, läuft er hier auf Fehler.
Das ist die Frage, ob er prüfen kann, ob Excel vorhanden ist... oder Libre
Member: lcer00
lcer00 Jun 28, 2021 at 15:18:48 (UTC)
Goto Top
Hallo,
Zitat von @ALTAGO:
Könntest Du die Frage bitte als Frage, und nicht als Wissensbeitrag klassifizieren? Müsste über Bearbeiten des ursprünglichen Posts gehen.

Grüße

lcer
Member: em-pie
em-pie Jun 28, 2021 at 15:30:29 (UTC)
Goto Top
Moin,
Zitat von @ALTAGO:

Das klappt soweit super, solange die User Excel haben.
Sollte der User aber nur eine OpenOffice Lösung in Form Libre haben, läuft er hier auf Fehler.
Das ist die Frage, ob er prüfen kann, ob Excel vorhanden ist... oder Libre

Du gibst doch vor, mit was er öffnen soll!
Prüfe also, ob Excel vorhanden ist (If exists) oder LibreOffice (If exists) und schreibe den PFad jeweils in eine eigene Variable.
Wenn weder das eine, noch das andere vorhanden ist, zeige eine Meldung alá "Bisd du bescheiat, de Datei zua öffna?"

Gruß
em-pie
Member: ALTAGO
ALTAGO Jun 28, 2021 at 17:48:01 (UTC)
Goto Top
Könntest Du die Frage bitte als Frage, und nicht als Wissensbeitrag klassifizieren? Müsste über Bearbeiten des ursprünglichen Posts gehen.


Ist erledigt face-smile
Member: ALTAGO
Solution ALTAGO Jun 29, 2021 at 05:25:43 (UTC)
Goto Top
Zitat von @em-pie:

Du gibst doch vor, mit was er öffnen soll!
Prüfe also, ob Excel vorhanden ist (If exists) oder LibreOffice (If exists) und schreibe den PFad jeweils in eine eigene Variable.
Wenn weder das eine, noch das andere vorhanden ist, zeige eine Meldung alá "Bisd du bescheiat, de Datei zua öffna?"

Hat funktioniert!
Hier mein genutzter Code:

@echo off
CLS

if exist "C:\Program Files (x86)\Microsoft Office\Office15\excel.exe" goto :excel  
if not exist "C:\Program Files (x86)\Microsoft Office\Office15\excel.exe" goto :libre  

:excel
echo Urlaubskalender geöffnet am %DATE% um %TIME:~-11,2%:%TIME:~-8,2% Uhr von %USERNAME% mit Excel >> \\Netzwerkpfad\logging.log
call "C:\Program Files (x86)\Microsoft Office\Office15\excel.exe" "\\Netzwerkpfad\Exceldateiname.xlsx"  
echo Urlaubskalender geschlossen am %DATE% um %TIME:~-11,2%:%TIME:~-8,2% Uhr von %USERNAME% >> \\Netzwerkpfad\logging.log
goto :end

:libre
echo Urlaubskalender geöffnet am %DATE% um %TIME:~-11,2%:%TIME:~-8,2% Uhr von %USERNAME% mit Libre >> \\Netzwerkpfad\logging.log
call "C:\Program Files (x86)\LibreOffice\program\scalc.exe" "\\Netzwerkpfad\Exceldateiname.xlsx"  
echo Urlaubskalender geschlossen am %DATE% um %TIME:~-11,2%:%TIME:~-8,2% Uhr von %USERNAME% >> \\Netzwerkpfad\logging.log
goto :end

:end
exit
Member: em-pie
em-pie Jun 29, 2021 updated at 08:47:10 (UTC)
Goto Top
Zitat von @ALTAGO:
Hat funktioniert!
Hier mein genutzter Code:
[..]

Ich hätte es etwas anders gelöst:
@echo off
CLS
SET LOG=\\Netzwerkpfad\logging.log
SET XLS="\\Netzwerkpfad\Exceldateiname.xlsx"  
SET PGM=""  

if exist "C:\Program Files (x86)\Microsoft Office\Office15\excel.exe" SET PGM="C:\Program Files (x86)\Microsoft Office\Office15\excel.exe"  
if exist "C:\Program Files (x86)\LibreOffice\program\scalc.exe" SET PGM = "C:\Program Files (x86)\LibreOffice\program\scalc.exe"  

if %PGM% EQU "" goto end  

echo Urlaubskalender geöffnet am %DATE% um %TIME:~-11,2%:%TIME:~-8,2% Uhr von %USERNAME% mit %PGM%>> \\Netzwerkpfad\logging.log
call %PGM% %XLS%
echo Urlaubskalender geschlossen am %DATE% um %TIME:~-11,2%:%TIME:~-8,2% Uhr von %USERNAME% >> %LOG%
goto :end

:end
exit