第一篇:Au3腳本函數(shù)用法中文說明
Au3腳本函數(shù)用法中文說明[提供漢化版]
Au3腳本,也就是AutoIt3 Windows自動安裝腳本語言,用過Au3腳本的朋友都知道它的強大.和帶來的方便,但它切沒有中文教材,就連以前的一個中文論壇也在前段時間,莫明奇妙的關(guān)啦門,當(dāng)然這也不能怪他們.他們也不是管方網(wǎng)站.這樣一來就給那些想學(xué)Au3腳本切英文不好或沒有學(xué)過其它語言的朋友帶來了極大的不便,其實Au3腳本不難學(xué),難的是看不懂它幫助文件里寫的是什么,今天翻譯了一些Au3的常用函數(shù)用法,希望對一些想學(xué)的朋友有些幫肋...{系統(tǒng)環(huán)境變量}
EnvUpdate();更新環(huán)境變量 EnvGet(“變量名稱”);取環(huán)境變量 ClipGet();取剪輯板文本
EnvSet(“變量名稱” [, “值”]);置環(huán)境變量
ClipPut(“文本”);置剪輯板文本
{文件,目錄,磁盤管理}
IniRead(“文件名”, “功能區(qū)”, “關(guān)鍵字”, “缺省值”);Ini文件讀關(guān)鍵字的值
IniDelete(“文件名”, “功能區(qū)”, “關(guān)鍵字”);Ini文件刪除關(guān)鍵字
IniWrite(“文件名”, “功能區(qū)”, “關(guān)鍵字”, “值”);Ini文件寫關(guān)鍵字的值
FileInstall(“源文件”, “目標文件” [,參數(shù)]);安裝文件
FileFindFirstFile(“文件名”);查找文件(第一次)
FileFindNextFile(文件號);查找文件(繼續(xù))FileRecycle(“源文件”);放入回收站
FileChangeDir(“目錄”);改變當(dāng)前目錄
FileCreateShortcut(“文件名”, “快捷方式名” [, “工作目錄”, “args”, “desc”, “圖標”, “熱鍵”]);建立快捷方式
DirCreate(“目錄”);目錄創(chuàng)建
DirCopy(“源目錄”, “目標目錄” [,參數(shù)]);目錄復(fù)制
DirRemove(“目錄” [,參數(shù)]);目錄刪除
DirMove(“源目錄”, “目標目錄” [,參數(shù)]);目錄移動
DriveGetDrive(“類別”);驅(qū)動器查找
FileGetLongName(“完整路徑和文件名”);取長文件名
DriveSpaceTotal(“路徑”);取磁盤空間
DriveSpaceFree(“路徑”);取磁盤剩余空間
FileGetShortName(“完整路徑和文件名”);取短文件名
DriveGetLabel(“路徑”);取驅(qū)動器卷標
DriveGetType(“路徑”);取驅(qū)動器類型
DriveGetFileSystem(“路徑”);取驅(qū)動器文件格式 DriveGetSerial(“路徑”);取驅(qū)動器序列號
DriveStatus(“路徑”);取驅(qū)動器狀態(tài)
FileGetVersion(“文件名”);取文件版本
FileGetSize(“文件名”);取文件大小
FileGetTime(“文件名” [,選項]);取文件日期
FileGetAttrib(“文件名”);取文件屬性
FileSaveDialog(“標題”, “初始目錄”, “文件類型” [,選項]);文件保存對話框
FileOpen(“文件名”,打開方式);文件打開
FileOpenDialog(“標題”, “初始目錄”, “文件類型” [,選項]);文件打開對話框
FileRead(文件號或“文件名”,字符個數(shù));文件讀
FileReadLine(文件號或“文件名” [,行號]);文件讀行
FileCopy(“源文件”, “目標文件” [, 參數(shù)]);文件復(fù)制
FileClose(文件號);文件關(guān)閉
FileSelectFolder(“提示文本”, “根目錄”,參數(shù));文件夾選擇 FileDelete(“路徑”);文件刪除 FileExists(“路徑”);文件是否存在
FileWrite(文件號或“文件名” , “內(nèi)容”);文件寫
FileWriteLine(文件號或“文件名” , “內(nèi)容”);文件寫行
FileMove(“源文件”, “目標文件” [,參數(shù)]);文件移動
DriveSetLabel(“路徑”, “卷標名”);置驅(qū)動器卷標
FileSetTime(“文件”, “日期”, 選項 [,參數(shù)]);置文件日期
FileSetAttrib(“文件”, “+-RASHNOT” [,參數(shù)]);置文件屬性
{鍵盤控制}
Send(“按鍵” [,參數(shù)]);發(fā)送
HotKeySet(“熱鍵” [, “自定義功能函數(shù)”]);置熱鍵
{鼠標控制}
MouseGetCursor();取鼠標指針類型 MouseGetPos();取鼠標坐標
MouseDown(“按鍵”);鼠標按下
MouseClickDrag(“按鍵”, 第一點橫坐標, 第一點縱坐標, 第二點橫坐標, 第二點縱坐標[,速度])
;鼠標按住拖動
MouseClick(“按鍵” [,橫坐標,縱坐標[,次數(shù) [,速度 ]]]);鼠標點擊
MouseUp(“按鍵”);鼠標放開 MouseMove(橫坐標,縱坐標 [,速度]);鼠標移動
{數(shù)學(xué)函數(shù)}
Exp(n);e的n次平方 BitNOT(數(shù)值);非運算
BitOR(值1,值2);或運算
Log(數(shù)字或數(shù)學(xué)表達式);取對數(shù)
ACos(數(shù)字或數(shù)學(xué)表達式);取反余弦 ATan(數(shù)字或數(shù)學(xué)表達式);取反正切
ASin(數(shù)字或數(shù)學(xué)表達式);取反正弦
Abs(數(shù)字或數(shù)學(xué)表達式);取絕對值
Mod(值1,值2);取模數(shù)
Sqrt(數(shù)字或數(shù)學(xué)表達式);取平方根
Random([[最小值 ,]最大值]);取隨機數(shù)
Cos(數(shù)字或數(shù)學(xué)表達式);取余弦
Tan(數(shù)字或數(shù)學(xué)表達式);取正切
Sin(數(shù)字或數(shù)學(xué)表達式);取正弦
Round(數(shù)字或數(shù)學(xué)表達式[,小數(shù)點后保留位數(shù)]);四舍五入
BitXOR(值1,值2);位或運算
BitShift(值,移動數(shù));位移運算
BitAND(值1,值2);與運算
{信息框,對話框} ProgressOn(“標題”, “主文本” [, “子文本” [, 橫坐標 [, 縱坐標[,選項]]]]);打開進度條窗口 ProgressOff();關(guān)閉進度條窗口
SplashOff();關(guān)閉置頂窗口
ProgressSet(進度值 [, “子文本” [, “主文本”]]);進度設(shè)置
InputBox(“標題”, “提示” [, “缺省文本” [, “密碼符號” [,寬度,高度 [,左邊,右邊[,等待時間]]]]]);輸入框
MsgBox(按鈕參數(shù), “標題”, “信息文本” [,等待時間]);信息框
SplashImageOn(“標題”, “圖像文件名” [,寬度 [,高度 [,橫坐標[,縱坐標 [,選項]]]]]);置頂圖像窗口
SplashTextOn(“標題”,“文本”[,寬度[,高度[,橫坐標[,縱坐標[,選項[,“字體名稱”[,“字體大小”[,“字體重量”]]]]]]]]);置頂文本窗口
ToolTip(“提示文本” [,橫坐標,縱坐標]);置提示文本
TrayTip(“標題”, “提示文本”, 等待時間 [,圖標選項]);置托盤氣泡提示(2000/xp)
{系統(tǒng)函數(shù)}
SoundPlay(“文件名” [,等待方式]);播放聲音
Call(“自定義功能函數(shù)”);調(diào)用自定義功能函數(shù)
CDTray(“盤符”, “開關(guān)命令”);光驅(qū)開關(guān)
AdlibEnable(“自定義功能函數(shù)” [,間隔時間]);激活意外窗口處理 TimerStop(時間標志);計時結(jié)束 TimerStart();計時開始
Exit(0);結(jié)束
AdlibDisable();禁止意外窗口處理 BlockInput(參數(shù));禁止用戶輸入 Break(參數(shù));禁止用戶退出 MemGetStats();取內(nèi)存狀態(tài)
AutoItWinGetTitle();取系統(tǒng)窗口標題
PixelGetRGB(橫坐標,縱坐標);取像素點RGB三色
PixelGetColor(橫坐標 , 縱坐標)
;取像素點顏色
PixelSearch(左邊, 頂邊, 右邊, 底邊, 顏色值 [, shade-variation] [,間隔像素數(shù)]]);搜索顏色
URLDownloadToFile(“連接地址及文件名”, “存儲到的文件名”);下載文件 SetError(值);置變量@error AutoItWinSetTitle(“新標題”);置系統(tǒng)窗口標題
SoundSetWaveVolume(音量大小);置音量
{進程管理}
ProcessWait(“進程” [,等待時間]);等待進程存在
ProcessWaitClose(“進程” [,等待時間]);等待進程關(guān)閉 ProcessClose(“進程”);關(guān)閉進程
Shutdown(關(guān)機方式);關(guān)機
ProcessExists(“進程”);進程是否存在 Sleep(時間)
;睡眠/暫停運行
RunAsSet([“用戶名”, “domain”, “密碼”]);以別人身份登錄運行
RunWait(@ComSpec & “ /c ” & 'DOS命令行', “",參數(shù));運行DOS命令
RunWait(”文件名“ [, ”工作目錄“ [, 參數(shù)]]);運行并等待結(jié)束
Run(”文件名“ [, ”工作目錄“ [,參數(shù)]]);運行程序
{注冊表管理} RegRead(”鍵路徑“, ”鍵名“)
;讀鍵值
RegDelete(”鍵路徑“ [, ”鍵名“]);刪除鍵
RegWrite(”鍵路徑“, ”鍵名“, ”類型“, 值);寫鍵值
{字符串管理}
StringFormat(”格式“, $var1 [,...$var32]);格式化字符串 StringLen(”字符串“);取長度
StringRight(”字符串“,字符數(shù));取右邊
StringMid(”字符串“,開始位置,字符數(shù));取中間
StringLeft(”字符串“,字符數(shù));取左邊
StringStripCR(”字符串“);刪除回車符
StringStripWS(”字符串“,參數(shù));刪除空格
StringTrimRight(”字符串“,字符數(shù));刪除右邊
StringTrimLeft(”字符串“,字符數(shù));刪除左邊
StringIsASCII(”字符串“);是否為ASCII StringIsDigit(”字符串“);是否為阿拉伯?dāng)?shù)字
StringIsUpper(”字符串“);是否為大寫
StringIsFloat(”字符串“);是否為浮點小數(shù)
StringIsSpace(”字符串“);是否為空
StringIsXDigit(”字符串“);是否為十六進制字符 StringIsAlNum(”字符串“);是否為數(shù)字
StringIsLower(”string“);是否為小寫
StringIsInt(”字符串“);是否為整數(shù)
StringIsAlpha(”字符串“);是否為字母
StringAddCR(”字符串“);添加換行符
StringReplace(”字符串“, ”查找的字符串“, ”替換后的字符串“ [,數(shù)量 [,區(qū)分大小寫]]);文本替換
StringUpper(”字符串“);轉(zhuǎn)換為大寫
StringLower(”字符串“);轉(zhuǎn)換為小寫
StringInStr(”字符串“, ”字符“ [,大小寫]);字符包含
StringSplit(”字符串“, ”參考符“);字符串分離
{變量與轉(zhuǎn)換函數(shù)}
IsDeclared(變量);變量是否被聲明 Asc(”字符“);取Asc碼
Eval(變量或表達式);取變量值
UBound(數(shù)組名 [,維數(shù)]);取數(shù)組大小
Int(小數(shù)或表達式);取整
Chr(ASC碼);取字符 IsAdmin();是否為管理員 IsNumber(變量);是否為數(shù)字 IsArray(變量);是否為數(shù)組
IsFloat(變量或數(shù)值);是否為小數(shù)
IsInt(變量或數(shù)值);是否為整數(shù)
IsString(變量);是否為字符
Dec(”十六進制“);轉(zhuǎn)換為十進制 Hex(十進制數(shù), 長度);轉(zhuǎn)換為十六進制 Number(表達式);轉(zhuǎn)換為數(shù)字
String(表達式);轉(zhuǎn)換為字符
{窗口管理}
WinExists(”標題“ [, ”文字“]);窗口是否存在
WinActive(”標題“ [, ”文字“]);窗口是否激活
WinSetOnTop(”標題“, ”文字“, 參數(shù));窗口置頂
WinWait(”標題“ [, ”文字“ [,等待時間]]);等待窗口出現(xiàn)
WinWaitClose(”標題“ [, ”文字“ [,等待時間]]);等待窗口關(guān)閉
WinWaitActive(”標題“ [, ”文字“ [,等待時間]]);等待窗口激活
WinWaitNotActive(”標題“ [, ”文字“ [,等待時間]]);等待窗口取消激活狀態(tài)
WinMenuSelectItem(”標題“,”文字“,”菜單項1“ [,”菜單項2“ [,”菜單項3“……]]);調(diào)用菜單
WinClose(”標題“ [, ”文字“]);關(guān)閉窗口
WinMinimizeAllUndo();恢復(fù)“全部最小化”的窗口
WinActivate(”標題“ [, ”文字“]);激活窗口
WinKill(”標題“ [, ”文字“]);強制關(guān)閉窗口
WinGetTitle(”標題“ [, ”文字“]);取窗口標題
WinGetHandle(”標題“ [, ”文字“]);取窗口句柄
WinGetClientSize(”標題“ [, ”文字“]);取窗口客戶區(qū)大小
WinGetClassList(”標題“ [, ”文字“]);取窗口類列表
WinGetText(”標題“ [, ”文字“]);取窗口文字 WinGetCaretPos();取窗口中控件坐標
WinGetState(”標題“ [, ”文字“]);取窗口狀態(tài)
WinGetPos(”標題“ [, ”文字“]);取窗口坐標 WinMinimizeAll();全部最小化
WinMove(”標題“, ”文字“,橫坐標,縱坐標[,寬度 [,高度]]);移動窗口
WinSetTitle(”標題“, ”文字“, ”新標題“);置窗口標題
WinSetState(”標題“, ”文字“ ,參數(shù));置窗口狀態(tài)
{控制管理}
ControlCommand(”窗口標題“, ”窗口文字“, ”控件類名稱“, ”命令“, ”選項“);發(fā)送控制命令
ControlSend(”窗口標題“, ”窗口文字“, ”控件類名稱“, ”文本“ [,參數(shù)]);發(fā)送文本到控件
ControlDisable(”窗口標題“, ”窗口文字“, ”控件類名稱“);禁止控件
ControlGetFocus(”窗口標題“ [, ”窗口文字“]);取焦點控件的類名稱
ControlGetPos(”窗口標題“, ”窗口文字“, ”控件類名稱“);取控件位置
ControlGetText(”窗口標題“, ”窗口文字“, ”控件類名稱“);取控件文字
StatusbarGetText(”窗口標題“ [, ”窗口文字“ [, 狀態(tài)欄部分]]);取狀態(tài)欄文本
ControlSetText(”窗口標題“, ”窗口文字“, ”控件類名稱“,”新文本“);設(shè)置控件文本
ControlClick(”窗口標題“, ”窗口文字“, ”控件類名稱“ [,鼠標按鍵] [,點擊次數(shù)]]);鼠標點擊控件
ControlShow(”窗口標題“, ”窗口文字“, ”控件類名稱“);顯示控件
ControlMove(”窗口標題“, ”窗口文字“, ”控件類名稱“,橫坐標,縱坐標[,寬度 [,高度]]);移動控件
ControlHide(”窗口標題“, ”窗口文字“, ”控件類名稱“);隱藏控件
ControlEnable(”窗口標題“, ”窗口文字“, ”控件類名稱“);允許控進
ControlFocus(”窗口標題“, ”窗口文字“, ”控件類名稱“);置焦點
{系統(tǒng)設(shè)置}
AutoItSetOption(”MustDeclareVars“,參數(shù));變量是否預(yù)先聲明
AutoItSetOption(”WinTitleMatchMode“,參數(shù));標題匹配方式
AutoItSetOption(”WinWaitDelay“,參數(shù));窗口等待延遲
AutoItSetOption(”SendAttachMode“,參數(shù));發(fā)送跟隨模式
AutoItSetOption(”SendKeyDelay“,參數(shù));發(fā)送延遲
AutoItSetOption(”CaretCoordMode“,參數(shù));符號坐標匹配方式
AutoItSetOption(”SendCapslockMode“,參數(shù));恢復(fù)大小寫狀態(tài)
AutoItSetOption(”WinDetectHiddenText“,參數(shù));檢測隱藏文字
AutoItSetOption(”WinSearchChildren“,參數(shù));檢測子窗口
AutoItSetOption(”SendKeyDownDelay“,參數(shù));鍵盤按下延遲
AutoItSetOption(”MouseClickDownDelay“,參數(shù));鼠標按下延遲
AutoItSetOption(”MouseClickDelay“,參數(shù));鼠標單擊延遲
AutoItSetOption(”MouseClickDragDelay“,參數(shù));鼠標拖動延遲
AutoItSetOption(”MouseCoordMode“,參數(shù));鼠標坐標匹配方式
AutoItSetOption(”ExpandEnvStrings“,參數(shù));特殊符號擴展
AutoItSetOption(”TrayIconDebug“,參數(shù));托盤代碼提示
AutoItSetOption(”WinTextMatchMode“,參數(shù));文字匹配方式
AutoItSetOption(”PixelCoordMode“,參數(shù));像素點坐標匹配方式
AutoItSetOption(”TrayIconHide“,參數(shù));隱藏托盤
AutoItSetOption(”RunErrorsFatal“,參數(shù));遇錯終止
例子:
自動更改IP,DNS,CScdkey,計算機名
我看了ban_r”和“凌風(fēng)Online”的該IP腳本,把他倆的東西整合了,自己也添加了一些東西,在2K和XP中直接可以使用,不必考慮注冊表中路徑不同,希望大家給于批評和指導(dǎo)。
$bn = ”E&Y工作組“ $ip_Z = ”255.255.255.0“ $ip_D = ”61.134.1.4“ $ip_D1 = ”61.134.3.11“ $num = InputBox(”E&Y工作組“,”請輸入機號“,”“,”“)
;*****判斷是否輸入機號*****
IF $num = ”“ Then MsgBox(0, ”錯誤“, ”沒有輸入機號“)Exit EndIF
;****設(shè)置CScdkey****
$CDKey = FileOpen(”CScdkey.txt“, 0)If $CDKey =-1 Then MsgBox(0, ”錯誤“, ”找不到CScdkey.txt“)Exit EndIf $CD = FileReadLine($CDKey,$num)FileClose($CDKey)RegWrite(”HKEY_CURRENT_USERSoftwareValveCounterStrikeSettings“,”KEY“,”REG_SZ“,$CD)RegWrite(”HKEY_CURRENT_USERSoftwareValveHALF-LIFESettings“,”KEY“,”REG_SZ“,$CD)
;****設(shè)置機號****
If $num < 10 Then $name = $bn&”00“ ElseIf $num < 100 Then $name = $bn&”0“ Else $name = $bn EndIf RegDelete(”HKEY_LOCAL_MACHINESystemCurrentControlSetControlComputerNameComputerName“,”ComputerName“)RegWrite(”HKEY_LOCAL_MACHINESystemCurrentControlSetControlComputerNameComputerName“,”ComputerName“,”REG_SZ“,$name&$num)RegDelete(”HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParameters“,”NV Hostname“)RegWrite(”HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParameters“,”NV Hostname“,”REG_SZ“,$name&$num)RegDelete(”HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParameters“,”Hostname“)RegWrite(”HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParameters“,”Hostname“,”REG_SZ“,$name&$num)
;*****計算IP和網(wǎng)關(guān)*****
IF
$num < 240 Then
$num = $num + 10
$ip_I = ”192.168.0.“&$num&”“
$ip_G = ”192.168.0.1“ ElseIF $num < 480 Then
$num = $num470
$ip_I = ”192.168.2.“&$num&”“
$ip_G = ”192.168.2.1“ ElseIF $num < 960 Then
$num = $numInstallShield Wizard”,“下一個(&N)>”)WinActivate(“MicrosoftOffice2003最終完美InstallShield Wizard”,“我接受該許可證協(xié)議中”)WinActivate(“MicrosoftOffice2003最終完美腳本轉(zhuǎn)換為Exe文件8.腳本語法9.窗口標題與窗口文本10.DOS 環(huán)境變量11.剪貼板變量12.特殊變量13.腳本命令14.Send 命令語法15.[ADLIB] 節(jié)16.示例17.AutoIt 歷史18.愿望列單19.致謝...20.翻譯后記引言AutoIt 是一種自動控制工具。它可以被用來自動完成任何基于 Windows 或 DOS 的簡單任務(wù)。它最初被設(shè)計用來自動完成安裝那些其它方法不能自動安裝的軟件。這在PC首次展示時非常有用,那時成百上千的機器需要被自動的安裝。盡管有一些程序如 MS Office, Mcafee, IE4 等具有自動安裝的組件,可還有太多的程序不具備自動安裝的功能。那就是用到 AutoIt 的地方。AutoIt 也可以被用來在你的機器上完成簡單的任務(wù)。AutoIt 運行時讀取一個指定的腳本文件。這個腳本文件使得 AutoIt 完成一系列操作,包括
執(zhí)行程序(Windows 應(yīng)用程序,DOS 命令,等等。)
發(fā)出按鍵和鼠標點擊(所有字符,不受鍵盤布局約束)。
窗口操作(例如最小化,隱藏,恢復(fù),等待,激活(同樣適用 Win98/Win2000))。
簡單剪貼板文本操作。最值一提的是它很?。ū旧戆珽xe文件,沒有DLL文件,沒有注冊表項)而且免費?。ú⑶覍⒈3置赓M).2.1 版后新加入的Aut2Exe。本程序可以從一個 AutoIt 腳本創(chuàng)建可執(zhí)行程序!2.21版后,你可以發(fā)送十進制 ASCII 代碼,就像 ALT 鍵加數(shù)字小鍵盤(比如 ALT+65='A')非常有用來發(fā)送特定的字符(比如 '~' 在一個意大利鍵盤上)仍然需要本文件的非英文譯本!(任何格式,只要你愿意對它進行維護)它可能太復(fù)雜”。這個方法至今做得很好,并且把 AutoIt 的大小保持很低(真是一個很小的執(zhí)行檔)。我親自使用 AutoIt 來作大量的PC 安裝。我從頭到尾用 Kixtart/WSH 來拷貝文件,運行文件,編輯注冊表,然后調(diào)用 AutoIt 在我需要完成只能通過手工輸入完成的配置時(軟件安裝,控制面板配置,改變盤符,等等)。返回目錄許可查看軟件包內(nèi)的License.txt。返回目錄2000年聲明AutoIt 就作者所知已經(jīng)解決2000年問題,不過還是請查看許可中放棄承擔(dān)的責(zé)任。返回目錄約定參數(shù)顯示在尖括號內(nèi),可選參數(shù)顯示在方括號內(nèi)。舉例<命令>, <參數(shù)1> [,<參數(shù)2>]這是一個命令,跟隨一個逗號和參數(shù)1,可選地,跟隨一個逗號和參數(shù)2。例如<命令>, <參數(shù)1>或<命令>, <參數(shù)1>, <參數(shù)2>返回目錄運行 AutoItAutoIt 可以在命令行中運行,或在資源管理器中雙擊它的圖標。>>> 特別注意 運行AutoIt唯一必需 的文件是“AutoIt2.exe”,把這個文件放到任何 PC 的路徑中,將允許在那個PC中用下面的命令行語法執(zhí)行AutoIt 腳本。<<<命令行語法AutoIt 以一下兩種方法在命令行中運行(確定 AutoIt2.exe 在你的路徑中,或在 AutoIt 安裝的目錄中執(zhí)行命令):AutoIt2.exe /reveal或AutoIt2.exe <腳本文件名>展現(xiàn)模式“展現(xiàn)”模式時,AutoIt 窗口會在最頂端。在單擊其它窗口使它們激活是,AutoIt 將顯示它們的窗口標題,鼠標相對于窗口的坐標,和窗口中其他文本幫助區(qū)分就有相同標題的其它窗口。和 MS ScriptIt 一樣,不是窗口中所以文本都能被“發(fā)現(xiàn)”腳本轉(zhuǎn)換為Exe文件Aut2Exe 可以和 AutoIt 一道被安裝(只在完全安裝中)。本程序可以接受一個腳本文件并將其轉(zhuǎn)換為可執(zhí)行文件。這個可執(zhí)行文件能單獨遠行,不需要任何安裝的 AutoIt 原始程序。可以為產(chǎn)生的執(zhí)行文件指定一個圖標,必須是32*32象素16位色的圖標文件(這個文件應(yīng)該長766字節(jié))。腳本在產(chǎn)生的執(zhí)行文本接近末尾的地方是可見的,但它已經(jīng)進行了加密處理來保護你的腳本。(特別注意這個加密不是十分復(fù)雜,但它將阻止大多數(shù) “可能是黑客” 訪問你的腳本。我知道我不能破解它,但我并不是專家...)。以后的版本可能會對加了密的腳本進行解釋(到那個時候別丟了你的原腳本!;))。特別注意 你仍然可以在產(chǎn)生的執(zhí)行文件中使用命令行變量通過運行“myscript.exe /p 參數(shù)1 參數(shù)2.....”。返回目錄腳本文件語法腳本文件是標準的文本文件可以賦予任何擴展名(盡管.aut是首選的擴展名)。每一行可以是一個命令,一個注釋,一個標簽或保留的空白。特別注意 每行的最大字符數(shù)是 1024。任何額外的字符會被忽略。;腳本開始;注釋用一個冒號指出<命令>, <命令參數(shù)><命令2>, <命令2參數(shù)><命令3>, <命令3參數(shù)>;這是一個標簽,它必須以一個冒號(結(jié)束,它被想Gosub 和 Goto這樣的命令調(diào)用。標簽:;腳本結(jié)束Exit;ADLIB 節(jié)開始[ADLIB]<標題>, <文本>, <命令>, <命令參數(shù)>返回目錄特殊字符反斜杠'',逗號 ','和百分號 '%'被視為特殊字符,使用它們時你必須小心一些。','在腳本文件中用力分隔參數(shù)。'%'用來包含DOS變量。如果要按原意使用這些字符,則必須在它們前面叫反斜杠 '',也就是說 “,”或“%”。如果用 '' 本身就也加在前面,也就是說 “".”n“和”t“可以表示換行和制表符在AutoIt的輸出功能 MsgBox 和 InputBox中。返回目錄窗口標題和文本一些腳本命令把”窗口標題“和”窗口文本“作為參數(shù)。”窗口標題“是出現(xiàn)在窗口標題欄的文本。”窗口文本“是窗口中所有其它文本,例如按鈕上的文本像”確定“和”取消“?!贝翱谖谋尽霸试S你區(qū)分具有相同標題的多個窗口。標題和文本都不必完全地指定。也就是說 ”未命名記事本“。查看 SetTitleMatchMode命令的內(nèi)容知道更多。用”/reveal“模式查看現(xiàn)在窗口的標題是什么。特別注意 窗口標題和文本對大小寫敏感!!返回目錄DOS 環(huán)境變量你可以在 AutoIt 腳本任何地方使用DOS環(huán)境變量。像在 DOS 批處理文件中一樣,只是變量被包含在百分號(%)中。例如,你想把當(dāng)前DOS路徑信息發(fā)送到記事本窗口你將做:Run, notepad.exeWinWaitActive,未命名這個值只在當(dāng)前腳本中有效。特別注意 一些 AutoIt 特別地使用一個變量作為參數(shù),在這種情況下不必使用百分號。一些和 AutoIt一起帶來的示例可以示范這一點。返回目錄剪貼板變量變量%CLIPBOARD% 是特殊的,使用時將被替換為剪貼板中的文本。例如,把”Hello!“ 拷貝到剪貼板然后運行以下腳本:MsgBox, 0,示例,剪貼板的內(nèi)容是: %clipboard%”剪貼板的內(nèi)容是:Hello!“將被輸出到屏幕上。同樣的,如果你想把文本發(fā)送到剪貼板,你可以使用SetEnv命令。例如把文本”我是一些粘貼的文本“發(fā)送到剪貼板你可以運行:SetEnv, clipboard,我是一些粘貼的文本返回目錄特殊變量在 AutoIt 中有一些特殊變量在下面加以描述:AutoIt變量 包含
A_OSTYPE 運行的操作系統(tǒng)類型?!盬IN32_WINDOWS“或”WIN32_NT“。
A_SCRIPTNAME 當(dāng)前腳本名稱,例如 ”myscript.aut“。A_SCRIPTDIR 當(dāng)前腳本存在的目錄。
A_SCRIPTFULLPATH 當(dāng)前腳本路徑全稱,例如 ”C:WindowsScriptsmyscript.aut“.A_WORKINGDIR 當(dāng)前工作目錄。
A_SEC 秒(00-59)A_MIN 分鐘(00-59)A_HOUR 小時(00-23)A_MDAY 日(01-31)A_MON 月(01-12)
A_YEAR 年(4 位數(shù)字,例如 2000)A_WDAY 星期(1-7)
A_YDAY 一年中的第幾天(1-366)
腳本命令以下是當(dāng)前可用到的命令(命令不區(qū)分大小寫):AdlibOnAdlibOffBlockInput,
------------------BlockInput,
Windows 95 沒有效果。
Windows 98 用戶輸入被禁止而且AutoIt同樣無法模擬輸入。
Windows NT 4(無 ServicePack 6)沒有效果。
Windows NT 4(有 ServicePack 6)用戶輸入被禁止而且AutoIt可以模擬輸入。
Windows 2000 用戶輸入被禁止而且AutoIt可以模擬輸入。
腳本關(guān)閉時輸入將自動被開啟。
------------------Break,
------------------EnvAdd, <變量>, <值>EnvSub, <變量>, <值>允許加或減環(huán)境變量。如果變量或值不是數(shù)字,將做零處理(0)。例如SetEnv, test, 20EnvAdd, test, 20MsgBox, 0, 示例, %test%將輸出”40“在屏幕上。
------------------FileAppend, <文本>, <文件名>這個命令添加”文本“ 到一個文件的末尾。如果這個文件不存在,它將被建立。例如FileAppend,這是第一行n這是第二行n, myfile.txt將添加兩行文本到”myfile.txt“,注意使用”n“指出一個新行是必需的。如果命令成功%ERRORLEVEL%被置為0否則置為1。
------------------FileReadLine, <變量>, <文件名>, <行>這個命令將從一個文件讀出一行文本到一個變量。行 1 為首行。例如FileReadLine, test, myfile.txt, 1讀出”myfile.txt“的首行到變量%test%。如果命令成功%ERRORLEVEL%被置為0否則置為1。
------------------Gosub,<標簽>Return就像老的BASIC命令一樣。Gosub 將轉(zhuǎn)移到指定的標簽。Return 將返回到 Gosub 命令的后一行。例如SetEnv, MyMessage,第一條信息!Gosub, mysubroutineSetEnv, MyMessage, 第二條信息!Gosub, mysubroutineSetEnv, MyMessage,第三條信息!Gosub, mysubroutineExitmysubroutine:MsgBox, 0, AutoIt, %MyMessage%Return------------------Goto, <標簽>腳本將在指定的標簽后繼續(xù)運行。例如;這個腳本經(jīng)永遠循環(huán)下去myloop:Sleep, 10Goto, myloop------------------HideAutoItWin,
------------------IfWinExist, <窗口標題>, [<窗口文本>], <命令>IfWinNotExist ,<窗口標題>, [<窗口文本>], <命令>IfWinActive, <窗口標題>, [<窗口文本>], <命令>IfWinNotActive, <窗口標題>, [<窗口文本>], <命令>如果條件滿足(也就是說窗口的標題和文本存在,活動,不存在,非活動)那么腳本將執(zhí)行<命令>。特別注意如果沒有指定窗口文本,則必須包含額外的逗號。例如IfWinExist,標題,文本, Goto,標簽IfWinExist,標題, Goto,標簽
------------------IfEqual,<變量>,<文本>, <命令>IfNotEqual,<變量>, <文本>, <命令>將比較<變量>和<文本>然后根據(jù)結(jié)果轉(zhuǎn)向。例如InputBox, MyVar, AutoIt,請輸入詞:WOMBLEIfEqual, MyVar, WOMBLE, Goto, matchMsgBox, 0, AutoIt,你的輸入不正確!Exitmatch:MsgBox, 0, AutoIt,很好!你輸入對了!
------------------IfGreater, <變量>, <數(shù)值>, <命令>IfGreaterOrEqual, <變量>, <數(shù)值>, <命令>IfLess, <變量>, <數(shù)值>, <命令>IfLessOrEqual, <變量>, <數(shù)值>, <命令>將比較<變量>和<數(shù)值>然后根據(jù)結(jié)果轉(zhuǎn)向。如果參數(shù)不是數(shù)字的,它們將被視為零。
------------------IfExist,<文件或目錄>,<命令>IfNotExist,<文件或目錄>,<命令>將執(zhí)行<命令>如果指定的文件或目錄存在/不存在。例如IfExist, C:COMMAND.COM, Goto, fileexistExitfileexist:;如果 C:COMMAND.COM存在,腳本會到這。MsgBox, 0, AutoIt,文件存在
------------------IfMsgBox, <返回值>, <命令>用來執(zhí)行一個命令 取決于用戶在消息框上所按的按鈕。有效的消息框的返回值是:ABORT, CANCEL, IGNORE, NO, OK, RETRY, YES 例如放置一個具有確定和取消按鈕的消息框,然后轉(zhuǎn)向如果用戶選擇取消:;示例腳本MsgBox, 1, AutoIt,測試IfMsgBox, CANCEL, Goto, cancellabelExitcancellabel:;用戶按下取消,腳本到這MsgBox, 0, AutoIt,用戶按下了取消
------------------IniRead, <變量>, <文件名>, <節(jié)>, <關(guān)鍵字>IniWrite, <值>, <文件名>, <節(jié)>, <關(guān)鍵字>IniDelete, <文件名>, <節(jié)>, <關(guān)鍵字>允許讀和寫標準windows.ini 文件。也就是說以下的格式。[節(jié)]關(guān)鍵字=值例如從一個 ini 文件的一部分”mysection“讀出”mykey“的值,到變量”%result%“:IniRead, result, c:mypathmyfile.ini, mysection, mykey例如寫入文本”womble“到同樣的節(jié)和關(guān)鍵字:IniWrite, womble, c:mypathmyfile.ini, mysection, mykey例如寫入DOS路徑信息到同樣的節(jié)和關(guān)鍵字:IniWrite, %path%, c:mypathmyfile.ini, mysection, mykey例如刪除DOS路徑信息從同樣的節(jié)和關(guān)鍵字:IniDelete, c:mypathmyfile.ini, mysection, mykey特別注意 必須給出.ini 文件的完整路徑和文件名。
------------------InputBox,<變量>, <標題>, <信息> [,hide]引出一個包含<信息>的對話框。用戶可以輸入文本并按下確定,輸入的文本將被儲存到DOS變量<變量>中。如果使用 ”hide“參數(shù),輸入將被屏蔽(如輸入密碼)。例如InputBox, MyMessage, AutoIt, 請輸入一些文本來顯示!MsgBox, 0, AutoIt, %MyMessage%例如InputBox, password, AutoIt, 輸入你的密碼(輸入是隱藏的), hide------------------LeftClick,
------------------LeftClickDrag,
------------------MouseGetPos,
------------------MsgBox, <顯示模式>, <標題>, <信息>以指定的信息顯示一個對話框。不同的顯示模式將給出不同的顯示結(jié)果(外觀,按鈕數(shù)量)。模式的清單在下面給出,加上你需要的顯示模式的號碼。例如顯示”Hello“只有一個”確定“按鈕:MsgBox, 0, AutoIt, Hello例如顯示”Hello"在警告框中并有確定和取消:MsgBox, 49, AutoIt, Hello(1=OKCANCEL, 48=Exclamation, = 49)功能 AutoIt 值
MB_OK 0
MB_OKCANCEL 1
MB_ABORTRETRYIGNORE 2 MB_YESNOCANCEL 3 MB_YESNO 4 MB_RETRYCANCEL 5
MB_ICONHAND 16
MB_ICONQUESTION 32 MB_ICONEXCLAMATION 48 MB_ICONASTERISK 64
MB_APPLMODAL 0
MB_SYSTEMMODAL 4096 MB_TASKMODAL 8192
第二篇:關(guān)于VLOOKUP函數(shù)的用法
關(guān)于VLOOKUP函數(shù)的用法
“Lookup”的漢語意思是“查找”,在Excel中與“Lookup”相關(guān)的函數(shù)有三個:VLOOKUP、HLOOKUO和LOOKUP。下面介紹VLOOKUP函數(shù)的用法。
一、功能
在表格的首列查找指定的數(shù)據(jù),并返回指定的數(shù)據(jù)所在行中的指定列處的數(shù)據(jù)。
二、語法
標準格式:
VLOOKUP(lookup_value,table_array,col_index_num , range_lookup)
三、語法解釋
VLOOKUP(lookup_value,table_array,col_index_num,range_lookup)可以寫為:
VLOOKUP(需在第一列中查找的數(shù)據(jù),需要在其中查找數(shù)據(jù)的數(shù)據(jù)表,需返回某列值的列號,邏輯值True或False)
1.Lookup_value為“需在數(shù)據(jù)表第一列中查找的數(shù)據(jù)”,可以是數(shù)值、文本字符串或引用。
2.Table_array 為“需要在其中查找數(shù)據(jù)的數(shù)據(jù)表”,可以使用單元格區(qū)域或區(qū)域名稱等。
⑴如果 range_lookup 為 TRUE或省略,則 table_array 的第一列中的數(shù)值必須按升序排列,否則,函數(shù) VLOOKUP 不能返回正確的數(shù)值。
如果 range_lookup 為 FALSE,table_array 不必進行排序。
⑵Table_array 的第一列中的數(shù)值可以為文本、數(shù)字或邏輯值。若為文本時,不區(qū)分文本的大小寫。
3.Col_index_num 為table_array 中待返回的匹配值的列序號。
Col_index_num 為 1 時,返回 table_array 第一列中的數(shù)值;
Col_index_num 為 2 時,返回 table_array 第二列中的數(shù)值,以此類推。
如果Col_index_num 小于 1,函數(shù) VLOOKUP 返回錯誤值 #VALUE!;
如果Col_index_num 大于 table_array 的列數(shù),函數(shù) VLOOKUP 返回錯誤值 #REF!。
4.Range_lookup 為一邏輯值,指明函數(shù) VLOOKUP 返回時是精確匹配還是近似匹配。如果為 TRUE 或省略,則返回近似匹配值,也就是說,如果找不到精確匹配值,則返回小于lookup_value 的最大數(shù)值;如果 range_value 為 FALSE,函數(shù) VLOOKUP 將返回精確匹配值。如果找不到,則返回錯誤值 #N/A。
四、應(yīng)用例子
A B C D編號 姓名 工資 科室2005001 周杰倫 2870 辦公室2005002 蕭亞軒 2750 人事科2005006 鄭智化 2680 供應(yīng)科2005010 屠洪剛 2980 銷售科2005019 孫楠 2530 財務(wù)科2005036 孟庭葦 2200 工 會
A列已排序(第四個參數(shù)缺省或用TRUE)
VLOOKUP(2005001,A17,2,TRUE)等于“周杰倫”
VLOOKUP(2005001,A17,3,TRUE)等于“2870”
VLOOKUP(2005001,A17,4,TRUE)等于“辦公室”
VLOOKUP(2005019,A1:D7,2,TRUE)等于“孫楠”
VLOOKUP(2005036,A1:D7,3,TRUE)等于“2200”
VLOOKUP(2005036,A1:D7,4,TRUE)等于“工 會”
VLOOKUP(2005036,A1:D7,4)等于“工 會”
若A列沒有排序,要得出正確的結(jié)果,第四個參數(shù)必須用FALAEVLOOKUP(2005001,A1:D7,2,FALSE)等于“周杰倫”VLOOKUP(2005001,A1:D7,3,FALSE)等于“2870”
VLOOKUP(2005001,A1:D7,4,FALSE)等于“辦公室”VLOOKUP(2005019,A1:D7,2,FALSE)等于“孫楠”VLOOKUP(2005036,A1:D7,3,FALSE)等于“2200”
VLOOKUP(2005036,A1:D7,4,FALSE)等于“工 會”
五、關(guān)于TRUE和FALSE的應(yīng)用
先舉個例子,假如讓你在數(shù)萬條記錄的表格中查找給定編號的某個人,假如編號已按由小到大的順序排序,你會很輕松地找到這個人;假如編號沒有排序,你只好從上到下一條一條地查找,很費事。
用VLOOKUP查找數(shù)據(jù)也是這樣,當(dāng)?shù)谝涣幸雅判?,第四個參數(shù)用TRUE(或確?。?,Excel會很輕松地找到數(shù)據(jù),效率較高。當(dāng)?shù)谝涣袥]有排序,第四個參數(shù)用FALSE,Excel會從上到下一條一條地查找,效率較低。
筆者覺得,若要精確查找數(shù)據(jù),由于計算機運算速度很快,可省略排序操作,直接用第四個參數(shù)用FALSE即可。
最近愛上了VLOOKUP,有人還對它進行了更新。因為它的漏洞就是只能返回重復(fù)值得第一個值。下面就詳細來敘述一下吧!
VLOOKUP(lookup_value,table_array,col_index_num,range_lookup)Lookup_value 為需要在Table_array第一列中查找的數(shù)值。
可以為數(shù)值、引用或文本字符串。需要注意的是類型必須與table_array第一列的類型一致。查找文本時,文本不區(qū)分大小寫;可以使用通配符“*”、“?”。
Table_array 為需要在其中查找數(shù)據(jù)的數(shù)據(jù)表。
可以使用對區(qū)域或區(qū)域名稱的引用、常數(shù)數(shù)組、計算后的內(nèi)存數(shù)組。對區(qū)域引用時,可以引用整列,excel會自動判斷使用區(qū)域。
該參數(shù)的第一列必須包含查找的內(nèi)容,其它列包含需返回的內(nèi)容;返回內(nèi)容的列序號由下個參數(shù)指定。
Col_index_num 為table_array中待返回的匹配值的列序號。
如為1時,返回table_array第一列中的數(shù)值;為2,返回table_array第二列中的數(shù)值,以此類推。
如果col_index_num小于1,函數(shù) VLOOKUP 返回錯誤值值 #VALUE!;
如果col_index_num大于table_array的列數(shù),函數(shù) VLOOKUP 返回錯誤值 #REF!。
Range_lookup 為一邏輯值,指明函數(shù)VLOOKUP返回時是精確匹配還是近似匹配。
如果為TRUE或省略,則返回近似匹配值,也就是說,如果找不到精確匹配值,則返回小于lookup_value的最大數(shù)值;
近似匹配查詢一般用于數(shù)值的查詢,table_array的第一列必須按升序排列;否則不能返回正確的結(jié)果。
如果range_value為FALSE(或0),函數(shù)VLOOKUP將返回精確匹配值。
此時,table_array不必進行排序。如果找不到,則返回錯誤值#N/A;可isna檢測錯誤后使用if判斷去除錯誤信息。
VLOOKUP 經(jīng)常會出現(xiàn)錯誤的#N/A,下面是幾種可能性: 數(shù)據(jù)有空格或者數(shù)據(jù)類型不一致。
可以在lookup_value 前用TRIM()將空格去除。
如果格式不一致,可以將數(shù)值強制轉(zhuǎn)換成文本,lookup_value之后用&跟""表示的空字符串。將文本轉(zhuǎn)換成數(shù)值,lookup_value*1進行運算。假設(shè)有以下兩個表格:表1:
姓名 身份證 學(xué)科 成績
張三 310111 物理 A
李斯 310112 化學(xué) B王五 310113 政治 A趙六 310114 物理 B
張三 310111 政治 C
趙六 310114 語文 B劉備 310115 英語 D
表2:
姓名 身份證 住址 學(xué)科 成績
曹操 319723 陜西馬超 310197 甘肅趙云 319784 黑龍江
李斯 310112 浙江劉備 310115 江蘇張三 310111 上海
請問:如何快速的將表2的學(xué)科和成績自動填入?直接使用VLOOKUP即可。示例如下:
=VLOOKUP($B1,Sheet1!$B$1C$5,2,FALSE)
涵義:在Sheet1的單元格區(qū)間B1:C5,查找符合條件為:第一列與當(dāng)前工作表單元格B1的值相等的第二列的值。
$B1 條件值
Sheet1!$B$1C$5 要查找區(qū)間(注意:請使用絕對引用)2 查找的結(jié)果為區(qū)域中的第幾列FALSE 表示精確查找
*具體應(yīng)用中大家注意各個參數(shù)的意義!調(diào)整參數(shù)來滿足個人需要。
第三篇:HEX2DEC函數(shù)的用法
HEX2DEC函數(shù)的用法
來源: http://excel表格制作excel表格的基本操作
HEX2DEC函數(shù):將十六進制數(shù)轉(zhuǎn)換為十進制數(shù)
功能說明:將十六進制數(shù)轉(zhuǎn)換為十進制數(shù)。
語法表達式:HE2XDEC(number)
參數(shù)說明:number:表示需要轉(zhuǎn)換為十進制的數(shù)。使用函數(shù)時,該參數(shù)可以直接輸入數(shù)值,也可以指定單元格。參數(shù)位數(shù)不能多于10位(40位二進制),其中最高位是符號位,其余39位是數(shù)字位。如果是負數(shù),那么用二進制數(shù)的補碼表示。
使用說明:如果參數(shù)number是不合法的十六進制數(shù),函數(shù)將返回錯誤值#NUM!。
如果參數(shù)number中包含字母,那么需要加上半角雙引號,否則函數(shù)將返回錯誤值#NAME!。如果參數(shù)number的位數(shù)多于10位,函數(shù)也將返回錯誤值#NUM!。
如果參數(shù)number中全是數(shù)字時,參數(shù)中加或不加半角雙引號,返回的結(jié)果都相同。如果函數(shù)HEX2DEC轉(zhuǎn)換后的數(shù)值的位數(shù)比places指定的位數(shù)多,函數(shù)將返回錯誤值#NUM!。
實際應(yīng)用:將十六進制數(shù)轉(zhuǎn)換為十進制數(shù)。
在單元格B2中輸入公式“=HEX2DEC(A2)”,轉(zhuǎn)換為十進制數(shù),然后利用自動填充功能,轉(zhuǎn)換其他數(shù)值,如圖11.14所示。
應(yīng)用說明:在進制轉(zhuǎn)換的計算中,HEX2DEC函數(shù)應(yīng)用比較廣泛。
上一篇:HEX2BIN函數(shù):將十六進制數(shù)轉(zhuǎn)換為二進制數(shù)
下一篇:在excel中如何按分類合并計算
第四篇:MsgBox函數(shù)用法小結(jié)
MsgBox函數(shù)用法小結(jié) 2009-08-26 09:05
1、作用
在消息框中顯示信息,并等待用戶單擊按鈕,可返回單擊的按鈕值(比如“確定”或者“取消”)。通常用作顯示變量值的一種方式。
2、語法
MsgBox(Prompt[,Buttons][,Title][,Helpfile,Context])參數(shù)說明:
(1)Prompt,必需的參數(shù),為字符串,作為顯示在消息框中的消息文本。其最大長度約為1024個字符,由所用字符的寬度決定。如果prompt的內(nèi)容超過一行,則可以在 每一行之間用回車符(Chr(13))、換行符(Chr(10))或是回車與換行符的組合(Chr(13)&Chr(10))將各行分隔開來。
(2)Buttons,可選的參數(shù),為數(shù)值表達式的值之和,指定顯示的按鈕的數(shù)目及形式、使用的圖標樣式、缺省按鈕及消息框的強制回應(yīng)等,可以此定制消息框。若省略該參數(shù),則其缺省值為0。設(shè)置值見下表。(3)Title,可選的參數(shù),表示在消息框的標題欄中所顯示的文本。若省略該參數(shù),則將應(yīng)用程序名放在標題欄中。
(4)Helpfile,可選的參數(shù),為字符串表達式,提供幫助文件。若有Helpfile,則必須有Context。
(5)Context,可選的參數(shù),為數(shù)值表達式,提供幫助主題。若有Context,則必須有Helpfile。
3、Button參數(shù)
用于MsgBox函數(shù)中Button參數(shù)的常量
常量 值 說明 vbOKOnly 0 只顯示“確定”按鈕
VbOKCancel 1 顯示“確定”和“取消”按鈕
VbAbortRetryIgnore 2 顯示“終止”、“重試”和“忽略” 按鈕 VbYesNoCancel 3 顯示“是”、“否”和“取消”按鈕 VbYesNo 4 顯示“是”和“否”按鈕
VbRetryCancel 5 顯示“重試”和“取消”按鈕 VbCritical 16 顯示“關(guān)鍵信息”圖標 VbQuestion 32 顯示“警告詢問”圖標 VbExclamation 48 顯示“警告消息”圖標 VbInformation 64 顯示“通知消息”圖標
vbDefaultButton1 0 第一個按鈕是缺省值(缺省設(shè)置)vbDefaultButton2 256第二個按鈕是缺省值 vbDefaultButton3 512第三個按鈕是缺省值 vbDefaultButton4 768第四個按鈕是缺省值
vbApplicationModal 0應(yīng)用程序強制返回;應(yīng)用程序一直被掛起,直到用戶對消息框
作出響應(yīng)才繼續(xù)工作
vbSystemModal 4096系統(tǒng)強制返回;全部應(yīng)用程序都被掛起,直到用戶對消息框作
出響應(yīng)才繼續(xù)工作 vbMsgBoxHelpButton 16384將Help按鈕添加到消息框 VbMsgBoxSetForeground 65536指定消息框窗口作為前景窗口 vbMsgBoxRight 524288文本為右對齊
vbMsgBoxRtlReading 1048576指定文本應(yīng)為在希伯來和阿拉伯語系統(tǒng)中的從右到左顯示 說明:
(1)第一組值(0–5)描述了消息框中顯示的按鈕的類型與數(shù)目;第二組值(16,32,48,64)描述了圖標的樣式;第三組值(0,256,512,768)說明哪一個按鈕是缺省值;而第四組值(0,4096)則決定消息框的強制返回性。將這些數(shù)字相加以生成Buttons參數(shù) 值的時候,只能由每組值取用一個數(shù)字。
(2)這些常數(shù)都是VBA指定的,可以在程序代碼中使用這些常數(shù)名稱代替實際數(shù)值。
4、返回值
用于MsgBox函數(shù)返回值的常量 常數(shù) 值 說明 vbOK 1 確定 vbCancel 2 取消 vbAbort 3 終止 vbRetry 4 重試 vbIgnore 5 忽略 vbYes 6 是 vbNo 7 否
5、相關(guān)說明
(1)如果同時提供了Helpfile與Context參數(shù),可以按F1鍵來查看與Context相應(yīng)的幫助主題,Excel通常會在輸入框中自動添加一個幫助(Help)按鈕。(2)若在消息框中顯示“取消”按鈕,則按下ESC鍵與單擊“取消”按鈕效果相同。若消息框中有“幫助”按鈕,則提供相關(guān)的幫助信息。
(3)如果要輸入多個參數(shù)并省略中間的某些參數(shù),則必須在相應(yīng)位置加入逗號分界符。
6、示例
(1)使用 MsgBox 函數(shù),在具有“是”及“否”按鈕的對話框中顯示一條嚴重錯誤信息。示例中的缺省按鈕為“否”,MsgBox函數(shù)的返回值視用戶按哪一個鈕而定。并假設(shè)DEMO.HLP為一幫助文件,其中有一個幫助主題代碼為1000。Dim Msg,Style,Title,Help,Ctxt,Response,MyString Msg=“Do you want to continue ?” ’定義消息文本
Style = vbYesNo + vbCritical + vbDefaultButton2 ' 定義按鈕 Title = “MsgBox Demonstration” ' 定義標題文本 Help = “DEMO.HLP” ' 定義幫助文件 Ctxt = 1000 ' 定義幫助主題
Response = MsgBox(Msg, Style, Title, Help, Ctxt)If Response = vbYes Then ' 用戶按下“是” MyString = “Yes” ' 完成某操作 Else ' 用戶按下“否”
MyString = “No” ' 完成某操作 End If(2)只顯示某消息 MsgBox “Hello!”
(3)將消息框返回的結(jié)果賦值給變量 Ans=MsgBox(“Continue?”,vbYesNo)
If MsgBox(“Continue?”,vbYesNo)<>vbYes Then Exit Sub
(4)使用常量的組合,賦值組Config變量,并設(shè)置第二個按鈕為缺省按鈕 Config=vbYesNo+vbQuestion+vbDefaultButton2(5)若要在消息中強制換行,可在文本中使用vbCrLf(或vbNewLine)常量,用&加空格與字符隔開。如
MsgBox “This is the first line.” & vbNewLine & “Second line.”(6)可以在消息框中使用vbTab常量插入一個制表符。下面的過程使用一個消息框來顯示5×5單元格區(qū)域中的所有值,用vbTab常量分隔列并使用vbCrLf常量插入一個新行。注意在MsgBox函數(shù)最多只顯示1024個字符,因此限制了可顯示的單元格數(shù)。Option Explicit Sub ShowRangeValue()Dim Msg As String Dim r As Integer, c As Integer Msg = “" For r = 1 To 5 For c = 1 To 5 Msg = Msg & Cells(r, c)& vbTab Next c Msg = Msg & vbCrLf Next r MsgBox Msg End Sub(7)在消息框語句中運用工作表函數(shù)以及設(shè)置顯示的數(shù)置格式,如下面語句所示: MsgBox ” selection has “ & m & ” cells.“ & Chr(13)& ” the sum is :“ & Application.WorksheetFunction.Sum(Selection)& Chr(13)& ”the average is :“ & Format(Application.WorksheetFunction.Average(Selection), ”#,##0.00“), vbInformation, ”selection count & sum & average“ & Chr(13)
MsgBox函數(shù)用法補充 2009-08-26 09:02 本文轉(zhuǎn)自:http://club.excelhome.net/viewthread.php?tid=196066&highlight=msgbox%3Bfanjy
MsgBox函數(shù)能很方便地顯示消息,并與用戶進行交互,其具體使用方法見《MsgBox函數(shù)用法小結(jié)》。下面介紹在使用MsgBox函數(shù)時遇到的特殊問題及解決方法,并就MsgBox函數(shù)所顯示的對話框的排版進行一些探討。
問題的提出及解決
在VBE編輯器中輸入下面的代碼后,MsgBox ”I am “a” boy.“ 光標移出該句代碼后,將會提示“編譯錯誤:缺少:語句結(jié)束”。即,如何在信息中顯示雙引號(“ “)? 解決的方法是,在要顯示雙引號的字符或字符串外面使用雙層雙引號,如上面的代碼,正確的輸入如下: MsgBox ”I am “"a”“ boy.” 結(jié)果如圖1所示。
圖1
信息框中的各種圖標
在MsgBox函數(shù)中為參數(shù)buttons指定常量值,可以顯示相應(yīng)的圖標。其中,常量 vbExclamation顯示“警告消息”圖標,常量vbQuestion顯示“警告詢問”圖標,常量vbCritical顯示“關(guān)健信息”圖標并伴有 提示聲,常量vbInformation顯示“信息”圖標,對應(yīng)的圖標如下圖2所示。注意,這四個常量若相互組合,將不會顯示任何圖標。
控制換行和對齊 在MsgBox函數(shù)中,可以使用常量vbCrLf或者常量vbNewLine在顯示的消息框中強制換行。下面的代碼運行后將顯示如圖3所示的有4行文本的消息框。Sub testLine()MsgBox “第一行” & vbCrLf _ & “第二行” & vbCrLf _ & “第三行” & vbNewLine _ & “第四行” End Sub 圖3
同時,還可以使用常量vbTab來插入一個制表符分隔列,達到使消息框中各列對齊的效果。下例用一個消息框顯示當(dāng)前工作表中A1至F11單元格區(qū)域中的內(nèi)容,結(jié)果如圖4所示。Sub 測試排列()Dim msg As String Dim r As Long, c As Long msg = "" For r = 1 To 11 For c = 1 To 6 msg = msg & Cells(r, c)& vbTab Next c msg = msg & vbCrLf Next r MsgBox msg, vbInformation End Sub
圖4 但是,MsgBox函數(shù)最多只能接受1023個字符,即限制了可以在消息框中顯示內(nèi)容的長度。
第五篇:excel中if函數(shù)的用法
excel如何使用if函數(shù)?
IF函數(shù)的語法為: =IF(條件,條件成立的返回的值,條件不成立時返回的值)
例 =IF(B7=“",”“,C7/B7)公式說明:公式的意思是如果B7等于空,則在單元格里顯示空,否則顯示C7/B7的結(jié)果。
如下圖所示。
二,多條件判斷
在使用IF進行判斷的時候,有時不只是一個條件,而是有多個條件組成的混合條件,這時候該怎么處理呢?
如下圖所示。如果B列和C列有一例為空,則公式就會出錯或出現(xiàn)不符的百分比,這時就需要對兩列進行判斷,看是不是有一列的內(nèi)容是空值,如果是空值,則不顯示,怎么同時對兩列進行判斷呢?我們可以這樣設(shè)置公式 =IF(AND(B2<>”“,C2<>”“),C2/B2,”0%“)公式中借用了and函數(shù),AND函數(shù)可以表示兩個條件同時成立,如果同時成立則返回TRUE(正確),有任一個條件不成立就會返回FALSE(錯誤).三IF函數(shù)嵌套
IF函數(shù)嵌套就是有多個IF函數(shù)一層套一層,什么時候會用到IF嵌套呢,是有多個條件要分別判斷時會用到,舉個例子吧。
=IF(B2<60,”不及格“,IF(B2<70,”及格“,IF(B2<85,”良好“,”優(yōu)秀“)))上面公式中就進行了多次判斷,第一次是判斷是不是小于60,如果小于60則顯示不及格,如果不小于60呢?下面還要進行及格,良好和優(yōu)秀成績的判斷,所以還需要還再用IF函數(shù)。怎么連接呢,很簡單。把下一個IF作為本次IF的第二個參數(shù)。即:
=IF(第一個條件,第一個條件成立時返回的值,if(第二個條件,第二個條件成立時返回的值,if(第三個條件,第三個條件成立時返回的值...IF(。)
注意:
1、IF函數(shù)只能嵌套七層,不但針對IF,對所有的函數(shù)都適合,也就是說函數(shù)嵌套函數(shù),不能超過七層。
2、在設(shè)置IF公式的時候,如果前面的IF條件成立,后面的就不會再判斷了,所以要合理的設(shè)置判斷的條件,不能這樣設(shè)置 =IF(A1<100,”ABC“,IF(A1<10,”bcd"))上面的公式中,第二個條件永遠無出頭之日的,因為如果小于10,必然小于100,只會判斷第一個條件而第二個條件沒有被判斷的機會。