校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > vbscript include的辦法實現代碼第1/2頁

vbscript include的辦法實現代碼第1/2頁

熱門標簽:企業400電話辦理價錢低 外呼系統群 墨西哥地圖標注app 智云億呼電話機器人 天津智能外呼系統排名 外呼系統說話聲音小怎么辦 機器人打電銷適用于美業嗎 龍巖400電話申請 上海辦理400電話選號
任何真正實用的工程開發都必然是多文件的。但是VBScript創建多文件工程要麻煩一點,它對多文件工程,代碼復用的支持并不是太好。在C/C++工程里,我們已經習慣了通過一個include語句,并且聲明一個函數原形的方式來使用其它模塊中的函數,這樣一個復雜的工程可以比較容易地分解成一些小的模塊,以更容易理解和掌握。VBScript中情況有些不同。這與它的設計目標有關。最初VBScript是用在客戶端腳本,以支持與客戶端作簡單的交互,如簡單的輸入檢查等等。在瀏覽器里顯然沒有辦法支持對另一個文件中的函數的調用,你不知道那個文件是否存在,何時存在。那么以本地腳本形式執行的VBScript又怎么樣呢?想想看這條命令:cscript.exe yourscript.vbs。顯然一個VBS運行在一個進程空間里(cscript進程),它也沒有辦法得到另一個文件中的函數。

認識到了VBScript的局限性,我們來看如何解決它。

第一種需要可能是需要在一個腳本運行的中間直接運行另外一個腳本。這可以通過下面的方法來完成:

Set WSHShell = CreateObject("WScript.Shell")
WSHShell.Run "wscript c:\Test.vbs param1", , True

注意到這里我們Test.vbs運行在另外一個進程空間(wscript進程)里,加上執行當前腳本的WSH,我們一共有兩個進程。這是通過WSHShell.Run來做到的,這個方法的原型是:

object.Run(strCommand, [intWindowStyle], [bWaitOnReturn])

如果時序很重要,你可以在bWaitOnReturn這個參數中指定主腳本是否要等待被執行的腳本運行結束后才能繼續。

另一點需要注意的地方是strCommand參數,這個參數是一個復合體,以空格區分各個域。如果需要將運行參數傳遞給被調用的腳本,應該在第二個空格后面輸入。下面的例子顯示了如何獲取主腳本傳遞來的參數。對了,是通過WScript.Arguments來訪問。WSCript還有其他一些有趣的屬性,請記得讀一下文檔。

Set oArgs = WScript.Arguments
For i = 0 to oArgs.Count - 1
WScript.Echo oArgs(i)
Next

關于參數解析,這里給出一個Windows 2000 support tools中的一個腳本的例子。你可以復用這個函數,以解析任何以/ArgName:Value形式指定的參數。

' searches for and returns the value of a command line argument of the form
' /argName:value from the supplied array. erases the entry in the array so
' that only untouched entries remain.

function GetArgValue(argName, args())
dim a
dim v
dim argNameLength
dim x
dim argCount
dim fullArgName

fullArgName = "/" argName ":"
argCount = Ubound(args)

' Get the length of the argname we are looking for
argNameLength = Len(fullArgName)
GetArgValue = "" ' default to nothing

for x = 0 To argCount
if Len(args(x)) >= argNameLength then

a = Mid(args(x), 1, argNameLength)
if UCase(a) = UCase(fullArgName) then

' erase it so we can look for unknown args later
v = args(x)
args(x) = ""

if Len(v) > argNameLength then
GetArgValue = Mid(v, argNameLength + 1)
exit function
else
GetArgValue = ""
exit function
end if
end if
end if
next
end function

更多的時候,我們需要在腳本之間共享變量,以及相互調用函數。我們想要得到C/C++中那樣的便利性:通過一個Include聲明,就可以將另外一個模塊中的函數和變量引入到當前的模塊中。在VBScript中,可以通過ExecuteGlobal來實現:

Sub Include(sInstFile)
Dim oFSO, f, s
Set oFSO = CreateObject("Scripting.FileSystemObject")
Set f = oFSO.OpenTextFile(sInstFile)
s = f.ReadAll
f.Close
ExecuteGlobal s
End Sub

這樣,在腳本中加上這樣一句調用:Include "mylib.vbs",就可以使用mylib.vbs中聲明的全局變量和函數了!注意這里的函數ExecuteGlobal有一個類似的函數Execute,這里如果使用Execute的話,就達不到我們想要的效果。因為通過Execute暴露的名字,其作用范圍局限于Execute所處的級別,在這里,也就是在函數Include內部。這幾乎肯定不是你想要的結果。

還有別的方法嗎?是的。VBScript內在的支持COM方式。如果可以將你的腳本編譯成一個COM組件,就當然可以在別的腳本中調用組件中的方法了。恰好,MS提供了工具Script Component Wizard來幫助我們將一些VBScript文件打包成一個組件,并提供注冊方法。

現在我們來學一些新的方法。我的意思是,這些方法是僅為WSH支持的,你可能以前并沒有遇見過。WSH支持一種叫*.wsf的文件,這個文件本身是XML格式的,通過該文件可以將你的VBScript腳本,以及其它類型的腳本,比如batch,perl等等組裝在一起,交給WSH來執行。這方面文檔還算詳細,這里就不多介紹了。

這一節里,介紹了由單個腳本文件組裝成一個較大的工程的四種方法,通過運用這些方法,你可以建立自己的常用函數庫,在各個腳本之間共享變量和傳遞數據,等等。
在網上找到一段實現的代碼,在這次的項目中起了大作用了。用vbs實現很多復雜的業務時,需要把一些公共的函數,class等寫在一個公共的可復用的vbs文件里,像個庫一樣,其他的腳本都包含這個庫的腳本。
復制代碼 代碼如下:

Sub Include(sInstFile)
Dim oFSO, f, s
Set oFSO = CreateObject("Scripting.FileSystemObject")
Set f = oFSO.OpenTextFile(sInstFile)
s = f.ReadAll
f.Close
ExecuteGlobal s
End Sub

使用的時候,這個把這個sub放在代碼里,然后用 Include "comm.vbs" 這樣來包含以下就可以了
12下一頁閱讀全文

標簽:阜新 鄂爾多斯 青島 黃山 錫林郭勒盟 齊齊哈爾 麗水 承德

巨人網絡通訊聲明:本文標題《vbscript include的辦法實現代碼第1/2頁》,本文關鍵詞  vbscript,include,的,辦法,實現,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《vbscript include的辦法實現代碼第1/2頁》相關的同類信息!
  • 本頁收集關于vbscript include的辦法實現代碼第1/2頁的相關信息資訊供網民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    777午夜精品视频在线播放| 91免费观看在线| 国产成人午夜片在线观看高清观看| 91丨porny丨首页| 国产精品国产三级国产aⅴ入口 | 91精品国产91久久久久久一区二区 | 不卡视频在线观看| 亚洲欧洲美洲综合色网| 91搞黄在线观看| 日韩va亚洲va欧美va久久| 26uuuu精品一区二区| 成人动漫精品一区二区| 亚洲国产一区视频| 国产三级精品视频| 欧美性猛交xxxxxx富婆| 久久99精品国产麻豆婷婷洗澡| 中文无字幕一区二区三区 | 激情欧美一区二区| 一区二区三区美女| 欧美成人国产一区二区| 欧美日韩欧美一区二区| 国产一区三区三区| 亚洲国产精品尤物yw在线观看| 久久精品欧美日韩| 欧美精品丝袜中出| 在线一区二区三区做爰视频网站| 国产自产2019最新不卡| 日韩成人免费看| 日日夜夜免费精品视频| 天天色图综合网| 亚洲一区二区视频在线| 一区二区三区国产精华| 欧美国产精品一区二区三区| 日韩一区二区三区免费看 | 91精品国产日韩91久久久久久| 91丨九色丨尤物| 欧美伊人久久久久久久久影院 | 欧美变态tickle挠乳网站| 欧美裸体一区二区三区| 欧美精品99久久久**| 91麻豆精品国产91久久久久| 欧美一区二区三区四区视频| 日韩欧美一区二区久久婷婷| 日韩精品一区二区三区老鸭窝| 欧美乱熟臀69xxxxxx| 久久精品在线观看| 亚洲色图丝袜美腿| 免费不卡在线视频| 91免费视频网| 久久久久久一二三区| 亚洲最快最全在线视频| 蜜桃传媒麻豆第一区在线观看| 韩国女主播成人在线| 91激情五月电影| 国产欧美一区二区精品仙草咪| 亚洲视频在线观看三级| 国产一区二三区| 欧美日韩国产首页| 日本一二三不卡| 人人精品人人爱| 欧美专区亚洲专区| 亚洲精品综合在线| 成人精品国产一区二区4080| 日韩一级视频免费观看在线| 日韩有码一区二区三区| 这里只有精品视频在线观看| 亚洲精品高清视频在线观看| 成人精品视频一区| 亚洲日本成人在线观看| 成人性生交大合| 亚洲男人的天堂av| 欧美亚洲另类激情小说| 亚洲狼人国产精品| 国内成人免费视频| 日韩女优毛片在线| 美日韩一级片在线观看| 欧美精品一区二区久久婷婷| 精品一区二区三区在线观看| 欧美电视剧免费观看| 狠狠色丁香九九婷婷综合五月| 精品美女在线观看| 不卡在线视频中文字幕| 亚洲国产人成综合网站| 91精品国产色综合久久ai换脸| 蜜桃av噜噜一区二区三区小说| 亚洲精品一区二区三区四区高清| 国产精品亚洲一区二区三区妖精| 国产精品国模大尺度视频| 欧美日韩在线综合| 国产一区二区网址| 性欧美大战久久久久久久久| 日韩欧美你懂的| 成人精品视频一区二区三区尤物| 1000部国产精品成人观看| 日韩一区二区三免费高清| 成人黄色777网| 国产一区二区三区在线观看精品 | 欧美色大人视频| 国产经典欧美精品| 免费在线成人网| 丝袜亚洲精品中文字幕一区| 国产精品污污网站在线观看| 久久亚洲精品国产精品紫薇| 欧美一区二区视频在线观看2020| 91在线精品秘密一区二区| 国产一区二三区好的| 国产一区二区三区免费| 美女视频一区二区三区| 免费在线观看一区二区三区| 亚洲中国最大av网站| 一区二区三区影院| 天天综合日日夜夜精品| 亚洲一区二区三区四区不卡| 一区二区三区国产精品| 亚洲一区二区五区| 日韩精品久久理论片| 麻豆久久一区二区| 床上的激情91.| 色综合久久中文综合久久97| 欧美影视一区二区三区| av中文字幕亚洲| 欧美综合色免费| 欧美成人伊人久久综合网| 欧美国产日韩精品免费观看| 亚洲激情图片小说视频| 人人狠狠综合久久亚洲| 成人ar影院免费观看视频| 在线精品观看国产| 久久中文娱乐网| 亚洲综合小说图片| 91视频免费看| 久久久久久久国产精品影院| 一区二区三区四区乱视频| 精品中文字幕一区二区| 欧美日韩一二三| 亚洲情趣在线观看| 国产99久久久国产精品潘金| 欧美日韩精品综合在线| 亚洲欧洲精品一区二区三区| 麻豆精品视频在线观看视频| 91极品美女在线| 一区二区三区在线视频观看58| 国产福利精品一区| 国产欧美综合在线观看第十页| 午夜视频在线观看一区二区| 日本高清视频一区二区| 亚洲欧美在线高清| 色噜噜偷拍精品综合在线| 亚洲欧美影音先锋| 91麻豆精品视频| 亚洲电影激情视频网站| 欧美高清hd18日本| 日本91福利区| 久久一区二区三区国产精品| 久久超碰97中文字幕| 26uuu色噜噜精品一区| 成人黄色电影在线| 亚洲影视资源网| 欧美一区二区三区在线观看视频| 日韩国产精品久久久久久亚洲| 日韩一区二区三区高清免费看看 | 亚洲欧美激情在线| 欧美日韩亚洲国产综合| 激情综合色丁香一区二区| 亚洲啪啪综合av一区二区三区| 日韩一卡二卡三卡| 欧美丝袜第三区| 国产成人精品1024| 亚洲国产综合人成综合网站| 国产视频一区二区在线| 555www色欧美视频| 色综合久久88色综合天天免费| 亚洲v精品v日韩v欧美v专区| 久久免费看少妇高潮| 欧美大白屁股肥臀xxxxxx| 91在线视频免费观看| 国产精品69毛片高清亚洲| 亚洲综合一区二区精品导航| 亚洲国产成人一区二区三区| 国产亚洲精品超碰| 色综合久久九月婷婷色综合| 麻豆精品一区二区综合av| 亚洲一区二区三区在线播放| 国产精品欧美极品| wwwwxxxxx欧美| 久久久精品tv| 国产欧美日韩一区二区三区在线观看| 欧美变态口味重另类| 精品国产一区二区国模嫣然| 日韩亚洲欧美中文三级| 日韩写真欧美这视频| 久久老女人爱爱| 亚洲精品成人在线| 一区二区三区日韩精品| 亚洲成在线观看| 久久er精品视频| 成人午夜视频免费看| 欧美性受极品xxxx喷水| 日韩欧美成人午夜| 亚洲午夜久久久久久久久电影网 |