对于我的工作,我经常需要在应用程序中输入标准文本以显示已采取的操作。 在以前的工作中,我一直在使用我发现完美的VBScript。它的作用是打开一个输入框,输入一个数字,脚本运行相应的子程序,输入你要求的文本。 您可以在下面找到有关其工作原理的示例脚本。 在过去,我在Windows XP中使用它,它运行得很好:
但Windows 7的任务行为略有不同。当窗口在W7中关闭时,前一个窗口出现在屏幕上但未被主动选中。结果,文本没有放在那个窗口中。
有没有办法让窗口被主动选中?
我对VBScript表单中的解决方案感兴趣。但是,如果有人碰巧知道改变Windows 7行为的解决方案,那么它的行为就像Windows XP一样,这也很有趣。我发现旧的行为一般来说更方便。
以下是该脚本的简短示例:
'-----------------------------
'VBScript for inputting text
'-----------------------------
Option Explicit
Dim oFS, oWS, oWN, Shell
Set oWS = WScript.CreateObject("WScript.Shell")
Set oWN = WScript.CreateObject("WScript.Network")
Set oFS = WScript.CreateObject("Scripting.FileSystemObject")
Set Shell = CreateObject("WScript.Shell")
'-------
' Menu
'-------
Select Case InputBox ( _
"Enter type of comment, then press enter or click Ok..." & vbCrlf & vbCrlf & _
" [1] Text 1" & vbCrlf & _
" [2] Text 2", _
"Menu")
Case "1"
Call sub1()
Case "2"
Call sub2()
Case Else
WScript.Echo "You entered an invalid menu choice!"
End Select
Call CleanUp
'------------
' Subroutines
'------------
'------------------
Sub CleanUp()
Set oWS = Nothing
Set oWN = Nothing
Set oFS = Nothing
WScript.Quit
End Sub
'------------------
Sub sub1()
WScript.Sleep 500
Shell.SendKeys "Standard text 1{ENTER}"
End Sub
'------------------
Sub sub2()
WScript.Sleep 500
Shell.SendKeys "Standard text 2{ENTER}"
End Sub
答案 0 :(得分:0)
我找到了一个简单的解决方案,我已经使用了几天而没有任何问题。我在每个子开头之后立即添加了以下代码:
GROUP BY nvl(trim(a.code), 'Blanks')