訂正。 VBSでQXのダイアログにキーを送れました。
C:\QX\MACRO\@_SK_test.MAC '━━━━━━━━━━━━━━━━━━━━
proc test dim ret dim setWord$ ret = shell("Wscript.exe C:\command\WSH\ユーザ定義enter.VBS") if ret = 0 then call msgbox("起動できません") exit proc end if @@ToolListType = 4 setWord$="◆,●,■" @@ListUserString$=setWord$ ' @@ListAutoClose=TRUE @ListUser end proc
'━━━━━━━━━━━━━━━━━━━━ '━━━━━━━━━━━━━━━━━━━━
C:\command\WSH\ユーザ定義enter.VBS '━━━━━━━━━━━━━━━━━━━━
Option Explicit
Dim objWshShell set objWshShell = WScript.CreateObject("WScript.Shell") WScript.Sleep 3000 'objWshShell.AppActivate "QX32 : ユーザ定義文字列" objWshShell.AppActivate "ユーザ定義文字列" 'objWshShell.SendKeys "{ENTER}" objWshShell.SendKeys "{ESC}" Set objWshShell = Nothing
'━━━━━━━━━━━━━━━━━━━━ ユーザ定義文字列を表示してからVBSファイルを起動するのではなく、 先にVBSファイルを起動し、WScript.Sleepで長めに待たせておいてから @ListUserするとダイアログが閉じます。"{ENTER}"でも"{ESC}"でも。 "QX32 : ユーザ定義文字列"でも"ユーザ定義文字列"でも動きます。
でも、VBSのsendkeysは全角文字が送れません。 やはり、メーリングリストで質問します。 いま質問内容を考えているところ。 |