online 1
gast (50)

/ Forum / Skripte(PHP,ASP,Perl...)

Skripte(PHP,ASP,Perl...)Skripte(PHP,ASP,Perl...)

Fragevon Strauss vom 09.01.2022, 12:54 Options

Lösung

Erst Textdatei, dann Excel Arbeitsblatt

Hallo an alle.

Ausgangssituation:
Es existiert eine Excel Arbeitsmappe (z.B Max Mustermann.xls) in die Betreuungszeiten für Tagesmütter eingetragen werden sollen.
Ich hab dieses Arbeitsblatt eigentlich mal für meine Frau erstellt. Jetzt sollte diese Datei auch anderen Tagesmüttern in unserer Samtgemeinde zur Verfügung gestellt werden.

Damit ich nicht jedem Anwender einzeln einige Hinweise dazu erzählen muss (z.B wie das Format der einzutragenden Zeiten) wollte ich jetzt das ganze etwas automatisieren.

Ich hab mir das in etwa so vorgestellt :
Die Tagesmutter bekommt die Datei in einem Ordner, in dem dann auch eine Textdatei mit den Hinweisen ist.
Der Aufruf der Exceldatei soll über eine Batchdatei erfolgen, die aber vorher erst die Textdatei auf den Bildschirm holt. Erst wenn diese geschlossen wird soll dann die Exceldatei aufgerufen werden.

Ich hatte zwar schon in die Exceldatei den Aufruf einer Hinweisbox integriert, die aber nur bei mittlerer Makrosicherheit funzt (b.z.w muss das Makro erst bestätigt werden, was bei manchen schon Spepsis auslöst).

Ist das ganze mit einer Batchdatei überhaupt lösbar ??
Oder gibt es noch andere Lösungsvorschläge dazu ?

Auf jeden fall sollten zuerst die Hinweise gelesen werden, bevor die Arbeitsmappe bearbeitet werden kann !

Mfg Micha


Antwort schreiben

Antwort 1 von coros vom 18.01.2022, 10:51 Options

Hallo Micha,

ich persönlich würde das mit eine Exe-Datei, die ich in Visual Basic erstellen würde, lösen. Diese Exe-Anwendung würde mir die Exceldatei immer mit aktivierten Makros öffnen und in der Exceldatei könnte sich dann die Bildschirmmeldung befinden.

Da Du sicherlich kein Visual Basic hast, könnte das mit einer, wie von Dir bereits vorgeschlagenen, Batchdatei erledigt werden. Nachfolgend mal die Befehlszeilen der Batchdatei:

@echo off

set TextDateiname=Deine Textdatei.txt
set ExcelDateiname=Deine Exceldatei.xls

rem Aufruf der Textdatei. Hier kein "start" vor den 
rem String schreiben, damit Batchdatei erst 
rem weiter abgearbeitet wird, wenn Textdatei 
rem geschlossen wird
rem
%CD%%TextDateiname%

rem Aufruf der Exceldatei. Hier mit der Anweisung "start",
rem damit nach dem Öffnen der Exceldatei das Dos-Fenster 
rem automatisch schließt.
rem
start %CD%%ExcelDateiname%
Du musst in dem Script der Batchdatei in den Zeilen

set TextDateiname=Deine Textdatei.txt
set ExcelDateiname=Deine Exceldatei.xls

die Namen der Dateien, die geöffnet werden sollen, noch anpassen.
Bedingung bei der Batchdatei ist, dass sich die Batchdatei, die Textdatei und die Exceldatei in einem Verzeichnis befinden, da obiger Code ansonsten nicht funktioniert.

Bei Fragen melde Dich.

MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du
ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.

Antwort 2 von son_quatsch vom 18.01.2022, 11:11 Options

Geht das nicht sehr viel kürzer?

Zitat:
@echo off
start /wait "" "Hinweismeldung Textdatei.txt"
"Arbeitsmappe Exceldatei.xls"

Antwort 3 von coros vom 18.01.2022, 12:35 Options

Hallo son_quatsch,

das geht auch. DOS ist halt nicht so mein Steckenpferd. Dann doch lieber VB oder VBA.

MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du
ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.

Antwort 4 von Strauss vom 18.01.2022, 18:06 Options

Hi

Danke erstmal für die Antworten. Ich werde mir das mal zu Gemüte führen.

Ein kleines Problem gibt es bei der ganzen Geschichte aber noch. Ich hatte das vergessen zu erwähnen.

Die Exceldatei bekommt aber bei jeden, der diese dann nutzen möchte einen anderen Namen. (z.B statt Max Mustermann.xls >> Fritz Müller.xls)
Das hat den Hintergrund, das dieser Name der Datei in eine gewisse Zelle übernommen wird, damit nicht jeder erst für jeden Monat den Namen des zu betreuenden Kindes reinschreiben muss.

Kann man in der Batchdatei auch Platzhalter verwenden ??

Im Sinne von:
@echo off
start /wait "" "Hinweismeldung Textdatei.txt"
"*.xls"
 


Mfg Micha

Antwort 5 von son_quatsch vom 19.01.2022, 07:46 OptionsLösung

Lösung
Indirekt. Das folgende Skript öffnet die Textdatei und wartet, bis der damit assoziierte Editor geschlossen wurde. Anschließend werden alle Excel-Dateien des Ordners geöffnet.

@echo off
start /wait "" "Hinweismeldung Textdatei.txt"
for %%f in (*.xls) do start "" "%%f" 

Antwort 6 von Strauss vom 26.01.2022, 20:05 Options

Hi

Ist zwar schon ne Weile her, aber hier noch die Rückmeldung:

Antwort 5 ist das was ich gesucht hatte !

Danke

Mfg Micha

Ähnliche Themen

SubString aus einer Textdatei ermitteln...
Bussard  04.07.2008 - 166 Hits - 13 Antworten

Excel VBA: FileSearch - Problem
snailhouse  07.08.2008 - 30 Hits - 2 Antworten

php: textdatei durchsuchen und trefferzeile ausgeben
herald443  10.11.2008 - 54 Hits - 6 Antworten

Excel VBA: Bedingte Formatierung
snailhouse  16.04.2009 - 1135 Hits - 8 Antworten

Excel VBA: FollowHyperlink Mailto:
snailhouse  09.07.2009 - 534 Hits - 1 Antwort

Hinweis

Diese Frage ist schon etwas älter, Sie können daher nicht mehr auf sie antworten. Sollte Ihre Frage noch nicht gelöst sein, stellen Sie einfach eine neue Frage im Forum..

Neue Einträge

Version: supportware 1.9.150 / 10.06.2022, Startzeit:Thu Jan 8 21:07:44 2026