Vegas原創 sendkeys例項

2021-09-05 15:28:12 字數 4522 閱讀 6190

需求:將excel檔更新提醒關閉,並另存為a*.xls.

dimwshset

wsh=

wscript.createobject(

"wscript.shell")

wsh.run 

"每日生產狀況表.xls

"wscript.sleep 

1000

wsh.sendkeys ""

wscript.sleep 

100wsh.sendkeys ""

wscript.sleep 

100wsh.sendkeys 

"%ek

"wscript.sleep 

100wsh.sendkeys "%s

"wscript.sleep 

100wsh.sendkeys ""

wscript.sleep 

100wsh.sendkeys ""

wscript.sleep 

100wsh.sendkeys "%l

"wscript.sleep 

100wsh.sendkeys 

"%fa

"wscript.sleep 

100wsh.sendkeys ""

wscript.sleep 

100wsh.sendkeys "a

"wscript.sleep 

100wsh.sendkeys ""

wscript.sleep 

100wsh.sendkeys "^y

"wscript.sleep 

100wsh.sendkeys 

"%fx"

詳解:private

subcmdback_click()             

'傳送多個相同字元以及多個功能鍵 

txtstr.setfocus 

sendkeys ""

, true

'向文字框中傳送10個餘字,並等待其執行完畢 

msgbox

"已新增了10個""餘""字,要刪除咯!", 

64'提示資訊 

txtstr.setfocus 

'這一句不是一定要,但為了除止意外,比如msgbox時你把焦點移到了txtstr之外,在程式中,我們要防止任何可能的錯誤 

sendkeys ""

'傳送10次back鍵 

end sub

private

subcmdnote_click()             

'傳送組合鍵 

shell 

"notepad

", vbmaximizedfocus    

'呼叫啟用記事本程式 

sendkeys 

"小麗,天天開心才乖哦!~", 

true

'傳送字串,其中還有個換行符(在這裡可以回車可以當成換行符),注意"~"這個符號代表了回車(enter),,傳送f5到notepad,它將自動插入乙個時間 

sendkeys "%

", true

'發其傳送乙個關閉的訊息 alt + f4 

sendkeys "y

", true

'傳送y表示儲存 

randomize

'初始化隨機數生成器 

sendkeys 

"小麗無敵"&

str(

int(

rnd*

10000

)), 

true

'檔名 

sendkeys "~

", true

'傳送回車鍵 (效果相當於點了確定) 

end sub

private

subcmdtaskmgr_click()          

'傳送功能鍵 

onerror

resume

next

'此處用此語句是為了防止第五行發生錯誤,比如彈出對話方塊時,你關閉了任務管理器,就會發生錯誤.你可以把這一行打上注釋之後看效果 

shell 

"taskmgr.exe

", vbnormalfocus        

'呼叫任務管理器 

msgbox

"看好了!要關閉咯!", 

64'提示資訊,此處注意,老公每個程式裡的msgbox 都帶了圖示哦!這是個必須養成的習慣 

"windows 任務管理器"'

啟用作務管理器視窗,以備傳送按鍵 

sendkeys ""

, true

'傳送 esc 鍵,任務管理器收到後將關閉 

'啟用程式視窗 

end sub

private

subcmdtext_click()             

'傳送普通文字 

txtstr.setfocus 

'使文字框得到焦點 

sendkeys 

"小麗要天天開心哦  哈哈 "'

傳送以下字元到文字框,傳送字串不需要特殊的格式,只要在此處輸入文字即可 

'+ ^ % ~  ( ) 這些字元是不是允許直接傳送的,如確實需要傳送,可以將它們用{}括起來 

'注意,""如果當成字元來傳送時,可以不放在{}中,但如果當成按鍵來傳送,就必須放在{}中,一般都放在{}中 

end sub

'還有幾點小常識,以前老公沒給你說過

'小麗,嘿嘿,"這"是乙個例子. 

'注意其中的雙引號,如果確實需要英檔案雙引號,則應該用兩個雙引號來代替,**如下 

'msgbox "小麗,嘿嘿,""這""是乙個例子.",64 

'另外在很多程式中,有可以用 alt + 某鍵 來啟用的選單及按鈕 

'具體的實現方法是用 "&" 這個符號來實現此功能,即給那些選單和按鈕中的字元加上下劃線,例如以下** 

'窗體上有乙個command1,當按下 alt + x 時,可以觸發它的單擊事件,為何是x?因為它在以下程式中是 "&" 符後的第乙個字母 

'不管放在字串的中間還是開頭結尾,其效果都是一樣滴. 

'如果確實需要在程式中加入"&"這個符號,而不讓其它字元帶下劃線,可以用兩個"&"來代替 

'private sub form_load() 

'command1.caption = "&xcommandbutton" 

'end sub 

'private sub command1_click() 

'msgbox "小麗觸發了此按鈕的單擊事件~  ^_^ ",64 

'end sub 

將乙個或多個按鍵訊息傳送到活動視窗,就如同在鍵盤上進行輸入一樣。

語法sendkeys 

string

[, wait]

sendkeys 語句的語法具有以下幾個命名引數:

string

必需的。字串表示式,指定要傳送的按鍵訊息。 

wait 可選的。指定等待方式的 [email protected] 值。如果為 

false

(預設值),則控制項在按鍵傳送出去之後立刻返回到過程。如果為 

true

,則按鍵訊息必須在控制項返回到過程之前加以處理。 

說明每個按鍵由乙個或多個字元表示。為了指定單一鍵盤字元,必須按字元本身的鍵。例如,為了表示字母 a,可以用 "a

"作為 

string

。為了表示多個字元,就必須在字元後面直接加上另乙個字元。例如,要表示 a、b 及 c,可用 

"abc

"作為 

string

。對 sendkeys 來說,加號 (

+)、插入符 (

^)、百分比符號 (%)、上劃線 (~) 及圓括號 ( ) 都具有特殊意義。為了指定上述任何乙個字元,要將它放在大括號 ({}) 當中。例如,要指定正號,可用  表示。方括號 ([ ]) 對 sendkeys 來說並不具有特殊意義,但必須將它們放在大括號中。在其它應用程式中,方括號有特殊意義,在出現動態資料交換 (dde) 的時候,它可能具有重要意義。為了指定大括號字元,請使用  及 {}}。

為了在按下按鍵時指定那些不顯示的字元,例如 enter 或 tab 以及那些表示動作而非字元的按鍵

為了說明在按下其它按鍵時應同時按下 shift、ctrl、及 alt 的任意組合鍵,請把那些按鍵的碼放在括號當中。例如,為了說明按下 e 與 c 的時候同時按下 shift 鍵,請使用 

"+(ec)

"。為了說明在按下 e 的時候同時按下 shift 鍵,但接著按 c 而不按 shift,則使用 

"+ec"。

為了指定重複鍵,使用  的形式。必須在 key 與 number 之間放置乙個空格。例如, 意指 

42次按下 

left

arrow 鍵; 則是指 

10次按下 h 鍵。

注意 不能用 sendkeys 將按鍵訊息傳送到這樣乙個應用程式,這個應用程式並沒有被設計成在 microsoft windows 中執行。sendkeys 也無法將 print screen 按鍵  傳送到任何應用程式.

Vegas原創 sendkeys例項

需求 將excel檔更新提醒關閉,並另存為a xls.dimwsh setwsh wscript.createobject wscript.shell wsh.run 每日生產狀況表.xls wscript.sleep 1000 wsh.sendkeys wscript.sleep 100wsh.s...

Vegas原創 TextBox換行

看見網上好多人說textbox換行後,資料庫或是label顯示不出來,我今天給大家介紹乙個小小的秘訣吧 strsubject txttitle.text.trim replace system.environment.newline,試一下 附 system.environment成員和方法 1.獲...

Vegas原創 LogMiner使用實踐

安裝logminer 1,建立dbms logmnr包 sql oracle home rdbms admin dbmslm.sql sql oracle home rdbms admin dbmslmd.sql 3,初始化引數utl file dir,指定分析資料的存放處,本例 e logmine...