最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

vbs個人總結(jié)514行筆記(悲)

2022-11-18 11:45 作者:炸雞1024  | 我要投稿

msgbox 彈出一個對話框 用法:msgbox "話"

標題:msgbox "話",,"標題"

msgbox擴充:

輸出圖標與按鍵設(shè)置?

msgbox "內(nèi)容",1+16+256,"標題"

1+16中,1可以替換:

0 確定

1 確定+取消

2.中止+重試+忽略

3.是+否+取消

4.是+否

5.重試+取消

16可以替換:

16 ×

32 ?

48 !

64 i

4096 置頂

256可以替換:

0 鼠標指針默認在第一個按鈕

256 同上,但是第二個

512 同上,但是第三個

4096 置頂

x=msgbox("",,"")

if x=6 then

這里,x代表一個變量,6:

1 ok 確定

2 cancel 取消

3 abort 終止

4 retry 重試

5 ignore 忽略

6 yes 確定

7 no 取消

當然,msgbox "",17,""

在前面,17=16+1


變量:dim 變量名,變量名

直接給變量賦值:dim 變量:變量=值

變量賦值:變量名="XXX"或者變量名=數(shù)字

顯示變量:msgbox "內(nèi)容"&變量名&"內(nèi)容"&變量名

常量:const 變量名

設(shè)置一個空變量:set a=nothong


輸入:變量名=inputbox("內(nèi)容","標題","輸入框中會出現(xiàn)的內(nèi)容",x坐標,y坐標)

inputbox判空:isempty(變量名)或者:typename(變量名)="empty"


if語句:基礎(chǔ):if 表達式 then 表達式? ?例:if a="1" then msgbox "1"

進階(else):

if 表達式 then

表達式

else 表達式

end if

if? ?or? ?then

...

elseif? ?and? ?then

...

else

...

end if

or代表或者,and代表和

elseif代表否則如果,else代表否則


字符串強制轉(zhuǎn)化為整數(shù):變量=CDbl(變量)? 或者變量=cint(變量) 或者 變量=int(變量)


注釋:單引號' 或者rem


循環(huán):

舉例:從一到十

dim i

i=1

while i<11

msgbox i

i=i+1

wend

while循環(huán):

while 表達式

執(zhí)行內(nèi)容

wend


dim i

for i=1 to 10

msgbox i

next

for循環(huán):

for 起始 to 終止

內(nèi)容

next

利用exit for退出循環(huán)


do loop循環(huán)(無限循環(huán)):

do

內(nèi)容

loop


dim i

i=1

do

msgbox i

i=i+1

loop until i>10

do loop until:

do '在此也可以加until,在此加了后面就不用加了,在這里加會先判定條件,后面加會先執(zhí)行代碼在判定條件

內(nèi)容

loop until 表達式

當然,until可以替換成while:do while...

通過exit do來退出循環(huán)


函數(shù):

函數(shù)名(參數(shù)或表達式)

Function 函數(shù)名(參數(shù))

內(nèi)容

End Function

舉例:一個數(shù)的平方:

dim a

square(inputbox(" "))

msgbox a

Function square(n)

a=n*n

End Function


遞歸實例:漢諾塔

dim n

n=3

hannuota "A","B","C",n

Function hannuota(a,b,c,n)

if n=1 then?

nsgbox a&"->1->"&c

else

hannuota a,c,b,n-1

msgbox a&"->"&n&"->"&c

hannuota b,a,c,n-1

end if

End Function


數(shù)組:dim 數(shù)組名(數(shù)值)

訪問:數(shù)組名(下標)

實例:成績輸入+求平均分

dim cj(40)

dim i

i=0

while(i<5)

cj(i)=inputbox("")

i=i+1

wend

dim sum

sum=0

i=0

while(i<5)

sum=sum+cj(i)

i=i+1

wend

msgbox sum/i

返回數(shù)組右側(cè)最大可用下標:ubound(名)

返回數(shù)組左側(cè)最大可用下標:lbound(名)

生成一個數(shù)組:變量名=array("元素1","元素2"……)

在每個元素后添加一個分隔符:join(數(shù)組名,字符)

查找所有帶某個字符的元素:filter(數(shù)組,字符,true或false(寫false是返回不帶指定字符的元素,省略為true))

判斷一個玩意是不是數(shù)組:isarray(數(shù)組名)

判斷數(shù)組里面的元素是不是空的:isnull(元素),同樣適用于其他情況

在過程級中聲明動態(tài)數(shù)組變量并分配或重新分配存儲空間:redim preserve 變量名(維數(shù))

多維數(shù)組:dim a(一維數(shù)目,二位數(shù)目,……)

訪問:a(1,2,……)

添加元素:function mjoin(l,d)

for each item in l

allitems=allitems&item&delimiter

next

mjoin=allitems

end function

調(diào)用:mjoin(數(shù)組名,換行符)


<> 不等于

if a<>1 與 if not a=1相等


字符串:定義:dim str1,str2

賦值:str1="123"

函數(shù):

返回一個字符串是否與另一個字符串中有相同的元素,有返回第一個字符串下標InStr(str1,str2)'下標從0開始

同上,但是從后往前搜索:InStrRev(str1,str2)

提取從一到下標的所有字符:Left(字符串,下標)

反轉(zhuǎn)字符串:StrReverse(字符串名)

獲取字符串長度:Len()

mid函數(shù):返回在字符串里指定數(shù)量的字符 mid(字符串,開始,長度(不寫默認從開始返回到最后))

把字符串按照指定字符分割:split(字符串,分割字符(不寫默認空格),要返回字符的數(shù)目(可省略,-1返回所有字符串),比較數(shù)值(可省略,要加的話0代表二進制比較,1代表文本比較))

大寫轉(zhuǎn)小寫 lcase(字符串)

小寫轉(zhuǎn)大寫 ucase(字符串)

刪除字符串前后所有空格:trim(字符串)

刪除字符串前所有空格:ltrim(字符串)

刪除字符串后所有空格:rtrim(字符串)

添加若干個空格:space(添加空格數(shù)量)

添加若干個指定字符:string(數(shù)量,字符)


msgbox a&vbLf&b&vbTab&c

vbLf:在輸出的時候會在a和b之間換行

vbTab:在輸出b和c的時候會加一個縮進

vbLf=chr(10)

vbTab=chr(9)


如果將很長一段代碼斷開,需要在斷開結(jié)尾處加上下劃線


按下一個按鍵:createobject("wscript.shell").sendkeys ""

等同于:dim obj

set obj=CreateObject("wscript.shell")

rem obj.run "文件名.文件后綴"這樣既可以按鍵,又可以打開文件

obj.run "notepad.exe"

wscript.sleep? 1000rem等待1秒鐘,以毫秒為單位

obj.sendkeys "Hello"

Hello的特殊替換:

{enter} or ~回車

{{} {

{}} }

{[} [

{]} ]

{~} ~

{+} +

{^} ^

{%} %

{BACKSPACE} {BS} {BKSP} BACKSPACE

特殊字符:按鍵全拼+{}

{INSERT}{INS} INSERT

PAGE DOWN {PGDN}(UP同)

{PRTSC} PRINTSCREEN

+ shift

^ ctrl

% alt


wscript.echo "Hello" 輸出一段話,但是標題為windows wscript

wscript.scriptname 獲取文件名

wscript.scriptfullname 獲取文件路徑

wscript.CurrentDirectory 獲取文件路徑,但最后不加文件名

%username%自動獲取用戶名。用于打開文件中使用


sub命令:(函數(shù))

sub 名稱(參數(shù))

代碼

end sub

調(diào)用:

call 名稱(參數(shù))


在vbs上調(diào)用IE(其他瀏覽器也可):

set ie=createobject("InternetExplorer.Application")

導(dǎo)航到某個網(wǎng)站:ie.navigate"網(wǎng)站"

地址欄是否可見:ie.visible=1或0

工具欄————:ie.toobar=1或0

狀態(tài)—————:ie.StatusBar=1或0

高度:ie.Height=560

寬:ie.witdh=1000

坐標:ie.top(頂部與窗口的距離)

ie.left(左邊——————)

使得它無法調(diào)整大?。篿e.resiable=0'這樣是鎖定

判斷瀏覽器是不是忙:ie.busy

ie.quit 退出瀏覽器

查看源碼:ie.Document.all.item("尋找字段").value="值"

上面代碼中,value代表輸入一個值,還可以替換成submit(提交,后面不加任何參數(shù))


on error resume next 免除報錯(遇到報錯,會無視,類似于python的try)


文件處理:

set fso=createobject("scripting.FileSystemObject")

檢查文件是否存在:fso.FileExists("路徑")

檢查文件夾是否存在:fso.folderExists("路徑")

復(fù)制文件:fso.CopyFile "文件路徑","文件夾路徑"

復(fù)制文件夾:fso.Copyfolder "要復(fù)制的文件夾路徑","復(fù)制到文件夾的路徑"

移動文件:fso.MoveFile "文件路徑","文件夾路徑"

移動文件夾:fso.Movefolder "要移動的文件夾路徑","移動到文件夾的路徑"

重命名文件:fso.MoveFile "文件路徑.擴展名(原先名稱)","文件路徑.擴展名(重命名的名稱)"

移動文件夾內(nèi)所有指定擴展名:fso.MoveFile "文件路徑\*.jpg","文件夾路徑"

移動文件夾內(nèi)所有指定名稱,不受擴展名限制:fso.MoveFile "文件路徑\名字.*","文件夾路徑"

移動文件夾內(nèi)所有文件但是不包括文件夾內(nèi)的文件夾:fso.MoveFile "文件路徑\*.*","文件夾路徑"

移動文件夾內(nèi)所有文件但是包括文件夾內(nèi)的文件夾:fso.MoveFile "文件路徑\*","文件夾路徑"

創(chuàng)建快捷方式:set nlink=fso.CreateShortCut("路徑.ink")

給快捷方式賦值:nlink=TargetPath="路徑"

介紹快捷方式:nlink.Description="介紹內(nèi)容"

切換圖標:nlink.IconLocation="圖標路徑"

保存快捷方式:nlink.Save

打開特殊文件夾:path=fso.specialfolders("特殊文件夾名稱,入Desktop") &"\proj"? ?fso.run path

創(chuàng)建文件:fso.CreateTextFile "路徑\文件.后綴"

刪除文件:fso.DeleteFile "路徑\文件.后綴"

刪除文件夾:fso.Deletefolder "路徑"

編輯文本文檔:fso.OpenTextFile("路徑.txt",數(shù)值,判斷文件是否不存在,不存在寫true,自動創(chuàng)建新文件)

數(shù)值可以替換成:1 只讀 2覆蓋 8追加

read命令合集:fso.read(數(shù)值) 讀取前數(shù)值個字符

fso.ReadLine 讀取一行

fso.ReadAll 讀取全部

fso.close關(guān)閉文件

write命令合集:fso.write "這個命令是寫入字符串的內(nèi)容"

fso.WriteLine "跟write命令一樣,但是寫完一行自動換行"

寫回車:fso.WriteBlankLines(回車行數(shù))

替換字符:cd=replace(wscript.ScriptFullName,wscript.ScriptName,"文件名.文件后綴")

fso.AtEndOfStream 判斷文件是否達到末尾

getfile:Set objfso=CreateObject("scripting.filesystemobject")

getfile命令,如果后面不加?xùn)|西則默認返回文件大小,下面的文件夾也一樣:objfso.getfile("文件名.文件后綴")?

得到文件夾的大?。篺so.getfolder("文件夾名稱")

更改文件屬性:objfso.attributes=objfso.attributes加或減1

加為設(shè)置,減為取消設(shè)置1可以替換:1只讀2隱藏4SYSTEM FILE 32備份

if objfile.attributes and 16 then? ?判斷是否為這個文件

16可以替換:0正常8磁盤驅(qū)動器卷標16文件夾64快捷方式2048壓縮文件

利用getfile復(fù)制刪除打開文件:

objfile.Copy "路徑"(因為getfile有了文件名,如果getfile有文件路徑,那么這里寫文件名)

objfile.delete "路徑"(同上)

objfile.openastextstream(讀寫類型).命令

for each in循環(huán)遍歷文件夾(在IE中同樣使用):

for each 變量 in 前面getfolder的文件名.Files(files是遍歷文件,在IE中通常.Windows)

msgbox 變量.Name'獲取前面文件名

msgbox 變量.Size'獲取大小

exit for'退出循環(huán)

next

遍歷文件夾:dim objapp:set objapp=createobject("shell.Application")

set objfolder=objapp.BrowseForfolder(0,"在要遍歷文件夾上分的窗口上寫的提示信息",0,0)

第一個數(shù)字始終為0,第三個數(shù)字可以替換0僅僅遍歷文件夾里面的文件夾16384所有文件

第四個數(shù)字代表開始位置,可以替換:0桌面2programs17drives18network19nethood38programfiles48programfilesx86 36windows

第四個數(shù)字也可以代表 "路徑",數(shù)字僅僅是代表特殊文件夾

判斷這個遍歷的文件夾是否為空: if objfolder is nothing

返回選擇的文件夾名稱:objfolder.title

返回選擇的文件夾路徑:objfolder.self.path

復(fù)制文件到選定的文件夾:objfolder.copyhere "文件名"

移動——————————————————:set itemcoll=objfolder.items

objfolder.movehere itemcoll

利用vbs打開文件并且以管理員身份打開

set objapp=createobject("shell.application")

objapp.shellexcute "文件名","路徑","","不填就默認,填runas以管理身份打開,還能寫open、edit、print(不填的話寫"")",窗口狀態(tài)

窗口狀態(tài)0隱藏1正常2最小化3最大化


打開一個文件:CreateObject("wscript.shell").run"文件名.文件后綴"

等價于:dim obj

set obj=CreateObject("wscript.shell")

obj.run "文件名.文件后綴"

obj.run "路徑\文件名.文件后綴"?

obj.run """路徑""" '打開文件夾

這種方法的好處:可以打開多個文件


with命令:舉例:

with CreateObject("Wscript.shell")

.run "cmd"

.sendkeys "hello"

end with? ?就這么用,能幫著省幾行


窗口:

查找一個窗口:set objshl=createobject("wscript.shell")

AppActivate "窗口名,比如Untitled - Notepad"?

還原窗口(alt+空格+r) objshl.sendkeys "{% }{R}"

最小化窗口(alt+空格+n)objshl.sendkeys "{% }{N}"

最大化窗口(alt+空格+x)objshl.sendkeys "{% }{X}"

關(guān)閉窗口 alt+f4? objshl.sendkeys "%{F4}"


強制結(jié)束進程:

dim obj:set obj=cerateobject("wscript.shell")

obj.run "taskkill /F /IM 進程名稱",0


select case語句:

select case 變量

case 內(nèi)容

符合內(nèi)容要執(zhí)行的代碼

case 內(nèi)容

符合內(nèi)容要執(zhí)行的代碼

……

case else(類似于c++的default)

代碼

end select

例:dim a,b,c

a="a"

select case a

case "a"

msgbox "a"

end select

(像c++的switch)


利用cmd控制vbs:

set args=wscript.arguments

for each arg in args

msgbox arg

next

在cmd中輸入:文件名.vbs 內(nèi)容1 內(nèi)容2……

判斷傳入的參數(shù)的數(shù)量:args.count


時間的函數(shù):

日期:msgbox Date()

時間:msgbox time()

日期+時間:msgbox now()

增加時間:dateadd("要增加的內(nèi)容",要增加的數(shù)值,date)

要添加的內(nèi)容里面,d 天 m 月 yyyy 年 w 一周第幾天 y 一年中第幾天 ww 一年中第幾周 q 季度 h 小時 n 分鐘 s 秒

看時差:datediff("查看內(nèi)容,同上要添加的內(nèi)容","第一個時間(日-月-年)",第二個時間)

返回給定日期的指定部分:datepart("內(nèi)容,同上",要計算期間的表達式子,如果前面是星期則1代表周日,年份則1代表1月1,2代表由在新的一年中至少有四天的第一周開始,3代表由在新的一年中第一個完整的周開始)

獲取年:year(時間)

獲取月 month(時間)

獲取周幾 weekday(時間)

獲取天day(時間)

獲取時hour(時間)

獲取分minute(時間)

獲取秒second(時間)

獲取月份名稱monthname(月份,縮不縮寫(縮寫ture))

————周的————weekdayname(一周第幾天,縮不縮寫(不縮寫可以不寫))


數(shù)學(xué)函數(shù):

絕對值:abs(數(shù)字)

四舍五入:round(數(shù)字)

0到1之間的隨機數(shù):

randmoize

rnd(1~100可以講這個數(shù)字乘以100)


格式化:

將數(shù)字格式化(5000變成5,000.00)formetnumber(數(shù)字,要保留的小數(shù)位)

將數(shù)字格式化為貨幣(美元和美分)formetcurrency(數(shù)字,小數(shù)點位數(shù))

格式化為百分數(shù):formetpercent(數(shù)字,小數(shù)點位數(shù))

格式化時間:formatdatetime(時間,vbGeneralDate)

上面,最后一個參數(shù)是vbGeneralDate(按照給定前面的時間排版),vblongdate(星期,月,日,年),VBshortdate(月/日/年)

那個參數(shù)也可以替換為數(shù)字,0 vbGeneralDate

1 vblongdate

2 vbshortdate

3 vbLongTime

4 vbShortTime


查看東西的類型:typename(變量)

查看東西類型第二種:vartype(變量)

返回值:

0.empty 1.null 2 整數(shù)3 長整數(shù)(long intger)4單精度小數(shù)5雙精度小數(shù)

6貨幣(ccur())7日期8字符串9createobject10error11布爾類型12數(shù)組13vbdataobject

17 字節(jié)

判斷是否為數(shù)組:isarray(變量)

判斷是否為日期:isdate(變量)

IsNumeric(a) 判斷a是不是數(shù)字

判斷是否為空數(shù):isnull(變量)

判斷是否為空:isenpty(變量)

判斷是否為一個createobject:isobject(變量)


利用vbs導(dǎo)入庫:

dim objfso:set objfso=createobject("scripting.filesystemobject")

dim rvbfil:set rvbfil=objfso.opentextfile("文件名.vbs",1)

execute rvbfil.readall()

rvbfil.close()

接著就可以使用此vbs下的函數(shù)


class:

class 類名

public a

dim b

private c

定義屬性:

property get aa

d="? "

end property

property let aa(參數(shù))

代碼,比如變量=參數(shù)

end property

private c

private(public也行) sub class_initialize()

代碼

end sub

同上 sub class_terminate()

代碼

end sub

也可以定義函數(shù)

function f


end function

end class

使用:set x=new 類名

x.class_terminate

使用屬性:x.aa

get和let去調(diào)用:

x.aa=""

msgbox x.aa


利用vbs解壓壓縮文件:

dim objfso:set objfso=createobject("scripting.filesystemobject")

dim objapp:set objapp=createobject("shell:application")

dim comp:comp="路徑"

dim extr:extr=left(comp,instrrev(comp,".")-1)

if not objfso.folderExists(extr) then

objfso.createfolder extr

end if

objapp.namespace(extr).copyhere(objapp.namespace(comp).items)


讓機器說話:dim objvoc=createobject("SAPI.SpVioce")

設(shè)置聲音: set 變量.voice=變量.getvoices.item(1) 0男1女

objvoc.rate=0 更改速度

objvoc.volume=0~100 音量

objvoc.speak "要說的話"


注冊表:set objwsh=createobject("wscript.shell")

objwsh.regread("注冊表路徑,如HKCU\Control Panel\desktop\")? ?讀取注冊表

寫入注冊表(創(chuàng)建一條):objwsh.regwrite "注冊表路徑,如HKEY_CLASSER_ROOT\VBSFile\Shell\Edit with Vbsedit\Icon","鍵值,如c:\Windows\system32\shell32.dll,269",注冊表的類型

寫入注冊表(創(chuàng)建文件夾)objwsh.regwrite "注冊表路徑\要創(chuàng)建的文件夾\,如HKEY_CLASSER_ROOT\VBSFile\Shell\Edit with Vbsedit\Test\",""

刪除注冊表 objwsh.regdelete "路徑"


字典:set c=createobject("scripting.dictionary")

添加元素:c.add "鍵","鍵值"

查看元素:c.items()()()()……(鍵下標,可以不填)要訪問的下標前面有多少個元素,前面就加多少個小括號

查看鍵值:c.keys()()()()(鍵值下標,可以不填)同上

查看字典內(nèi)項目的個數(shù):c.count()

刪除:c.remove(鍵)

清空字典:c.removeall()

多維字典:set c=createobject("scripting.dictionary")

a=array("","","")

c.add " ",a


正則表達式:

str="? ?"

set name=new regexp

設(shè)置正則模式:name.pattern="要搜索的字符"

這里面能寫的特殊字符:

\(? 左括號 \d{3} 后三位數(shù) \)?右括號 [\s-]破折號或空格 \b可作為結(jié)尾或開頭 |或者

[A-Z]大寫字母[a-z]小寫字母 \s詞 代表匹配一個空格后面+一個詞

測試正則是否成功,比如說判斷一個J但是有一個小寫的j沒被判斷,返回false,否則返回true

name.test(str)

忽略大小寫:ignorecase=true

name.global=true 是在str中取代全部,還是只代替第一個

替換字符串:name.replace(原先字符,要替換的)

execute:

對指定字符串搜索:name.execute(str)

查看指定字符串搜索了幾次:name.execute(str).count()

查看指定字符串搜索出來的第一個下標:name.execute(str).item(指定字符串的序號,如0).firstindex

查看指定字符串搜索出來的元素的長度:name.execute(str).item(指定字符串的序號,如0).lengeth

查看指定字符串搜索出來的元素:name.execute(str).item(指定字符串的序號,如0).value

匹配對象所匹配結(jié)果中的子項集合:name.execute(str).item(指定字符串的序號,如0).submatches(子串)


vbs個人總結(jié)514行筆記(悲)的評論 (共 條)

分享到微博請遵守國家法律
曲靖市| 牡丹江市| 浮山县| 黄陵县| 利辛县| 井冈山市| 兴海县| 蒙阴县| 锡林郭勒盟| 彰化县| 文登市| 金沙县| 慈利县| 克拉玛依市| 彝良县| 全椒县| 屏山县| 胶南市| 万州区| 缙云县| 镇平县| 佛坪县| 武城县| 海宁市| 五华县| 尖扎县| 安仁县| 弋阳县| 海阳市| 霍州市| 保康县| 丹寨县| 呈贡县| 手机| 望谟县| 蓬溪县| 出国| 哈尔滨市| 内江市| 密云县| 岳阳市|