Zu diesem Thema gab es schon mal einen ähnlichen Beitrag, und zwar
hier.
Da ich das Ganze aber für WF4 brauche und der Beitrag ohnehin schon elends lang ist, habe ich mich entschlossen, einen neuen Thread zu öffnen.
Ich will über den Mapkey "ze" ein WSH-Script starten, welches mir eine Zeichnung vom aktiven Part erzeugt.
Dazu habe ich folgenden Mapkey angelegt (bzw. von den VB-Profis im anderen Beitrag übernommen):
!===============
mapkey ze @MAPKEY_NAMEZeichnung erstellen;@MAPKEY_LABELZeichnung erstellen;\
mapkey(continued) ~ Activate `main_dlg_cur` `File.psh_save`;\
mapkey(continued) @SYSTEM\start WScript.exe G:\\ProE\\ze.vbs
!===============
Das Skript dazu sieht folgendermaßen aus:
'Option Explizit
'WScript.Sleep 200
Dim Fi, Fso
Set Shell = CreateObject("WScript.Shell")
Set WshShell = WScript.CreateObject("WScript.Shell")
Sub sk(Befehl)
'wscript.echo befehl
WshShell.SendKeys(Befehl)
WScript.Sleep 200 'Zeitangabe in Millisekunden
End Sub
'Befehl "Umbenennen" auslösen und den Text in die Zwischenablage kopieren
sk "%du"
sk "^c"
'Abbrechen, neue Datei erstellen und Namen einfügen
sk "^a"
sk "^n"
sk "^v"
'Feld "Zeichnung" wählen
sk "{TAB 2}"
sk "{DOWN}"
sk "{TAB 2}"
sk "{DOWN}"
sk "{TAB 2}"
sk "{DOWN}"
sk "~"
WScript.Quit()
Mit diesem Skript landet man normalerweise im Fenster für die Rahmenauswahl.
Dies könnte man natürlich noch weiterführen und einen speziellen Rahmen auswählen, aber bei mir kommt beim ersten Aufruf das Feld "Leer", ich bräuchte aber "Leer mit Formatierung".
Beim wiederholtem Aufruf des Mapkeys steht die Auswahl dann bereits auf "Leer mit Formatierung", womit ich nicht den gleichen Mapkey verwenden kann.
Ich habe aber noch ein grösseres Problem, der Mapkey funktioniert nicht stabil.
Manchmal geht der Cursor auf "Fenster schliessen", ein anderes Mal funktioniert das Kopieren nicht.
Auch ein Hinaufsetzen der Zeit hilft nichts.
Hat jemand eine Idee, woran das liegen könnte oder was ich noch versuchen könnte?!?
Anm.: bei mir ist die option "force_new_file_options_dialog" auf yes gesetzt, ansonsten braucht man vermutlich "TAB 3" statt "TAB 2".
Hab das Kopieren auch schon mit folgender Version versucht, leider auch ohne Erfolg:
sk "^s"
sk "{TAB 5}"
sk "{BS 4}"
sk "+^{left}"
sk "^c"
Bin dankbar für jede Antwort!
Grüsse
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP