Seite 1 von 1

Dateien zeitversetzt öffnen

Verfasst: 11. Feb 2014 23:26
von Kundal
Dieser VB-Script Schaltercode basiert auf einem Schalter, den ich im Beitrag Dateien Zeitversetzt nacheinander öffnen für das Forumsmitglied redfrog erstellt habe.
Während der dort vorgestellte Schalter im MS-DOS Batch-Modus auch unter DOpus 10 funktioniert, ist der hier vorgestellte VB-Script-Schalter nur unter DOpus11 lauffähig.
Nach dem Einfügen des Codes Im Befehlseditor muss mit der Schaltfläche Funktion: die neue Option Scriptfunktion gewählt werden.

Der Schalter wählt zunächst alle Textdateien im aktiven Ordner aus und versteckt alle anderen Dateitypen. Danach öffnet sich eine Dialogbox in der ein Range von Dateien ausgewählt werden kann (im Beispiel 1-3 oder 4-6 oder 7-9). Die gewählten 3 Dateien werden dann zeitversetzt im Abstand von 2 Sekunden mit Notepad geöffnet.

Zum Script-Code:
- In Zeile 1 wird eine Funktion definiert, die bei Klick auf einen Schalter ausgeführt wird.
- In Zeile 2 und 3 können die Auswahl-Befehle angepasst werden (z.B. anderen Dateityp wählen oder Range-Auswahl editieren). Dort könnten natürlich auch weitere DOpus-Standardbefehle nach dem gleichen Muster angehängt werden. Die beiden Zeilen können auch gelöscht werden, um den Schalter auf die Basisfunktion zu reduzieren. Es werden dann einfach alle ausgewählten Dateien an Notepad übergeben.
- In Zeile 4 wird eine For-Schleife gestartet, die auf die ausgewählten Dateien angewendet wird.
- In Zeile 5 wird der Pfad einer einzelnen Datei aus der Auswahl als Variable FP gesetzt. Notepad kann diese Variable dann in Zeile 7 als {$glob:FP} auslesen.
- In Zeile 6 wird der Zeitversatz in Millisekunden (hier 2000=2 Sekunden) definiert.
- In Zeile 7 wird die Datei mit Hilfe der oben definierten Variable an Notepad.exe übergeben. Hier könnte auch jedes andere Programm, das einen Dateipfad als Argument akzeptiert, eingesetzt werden (vollständigen Pfad zur EXE-Datei angeben).
- In Zeile 8 startet next die Schleife für die nächste Datei von Neuem.
- In Zeile 9 wird die Funktion beendet, nachdem die Schleife für alle ausgewählten Dateien durchlaufen wurde.

Textdateien zeitversetzt (2 Sekunden) mit Notepad öffnen

Code: Alles auswählen

Function OnClick(ByRef ClickData)
      ClickData.Func.Command.RunCommand "Select *.txt HIDEUNSEL"
      ClickData.Func.Command.RunCommand "Select RANGE {dlgchoose|Range wählen:|1-3=1-3+4-6=4-6+7-9=7-9}"
For each file in ClickData.Func.Command.files
      DOpus.vars.Set "FP", File
      DOpus.delay "2000" 
   ClickData.Func.Command.RunCommand("notepad.exe {$glob:FP}")
next
End Function