在Web網頁上使用VBScript 和JScript

在Web網頁上使用VBScript 和JScript

綜述:本文討論了VBScript和 JScript之間的區別,以及它們的使用場合。本文還討論了:

  • Visual InterDev中的VBScript 和JScript
  • 內聯服務器腳本和<Script>單元
  • 腳本執行順序

如果你要編寫一個Web網頁就必須要編寫一些腳本。幸運的是,你可以從幾種腳本編寫語言中選擇一個。不幸的是,有這麼多種語言可以選擇,到底選哪一種呢?你應該怎麼做?

或者,如果你獲得了一個網頁,它的腳本是用一種你不怎麼使用的腳本語言編寫的,你怎樣才能夠用這個腳本來增加一些新的功能呢?

在本文中,我將會討論到這些問題。而首先,我會指導你如何用微軟公司所提供的這兩種腳本編寫語言來進行工作。

Microsoft Visual Basic, Scripting Edition (VBScript).

JScript,它是ECMAScript的Microsoft版本,是一組包括JScript 和JavaScript腳本編寫語言的標準定義。

當然,還有其他的腳本編寫語言,如Perl 和Rexx等。不過這裏我着重介紹兩種語言,微軟公司在Internet Explorer和Internet Information Server (IIS)中爲它們提供了ActiveX Scripting Language(ActiveX腳本編輯語言)引擎。

我還要討論你何時需要在同一個網頁中使用這兩種語言(如你所見,這是完全可行的)。爲了對你有所幫助,我列出了一系列有關的小問題,這些問題在你工作時必須牢記於心。
爲了清楚地論述這個問題,我將從以下幾個方面着手:

  • VBScript 和JScript之間的區別
  • 如何在Visual InterDev中確定腳本語言?
  • 在同一個網頁中應用兩種語言
  • 更新腳本編輯語言
  • VBScript 和JScript之間的區別

VBScript 和JScript之間最大的區別是它們的結構。VBScript 是Visual Basic的子集,如果你曾經用過Visual Basic或者是Visual Basic for Applications (VBA),你就會覺得非常熟悉。不過它們並不是完全一樣的,因爲VBScript是特意爲在瀏覽器中進行工作而設計的,它不包括一些在腳本這個範圍以外的特性,如文件訪問和打印等等。

而另一方面,JScript從一組編程語言如C, C++, 以及Java等之中脫離出來的。如果你以前曾經用過C或者是Java,那麼JScript的結構你會覺得非常熟悉。即便你不知道這些語言也沒有關係,JScript的結構一點也不難--它像C和Java一樣方便而沒有它們那麼複雜。

注意:不管怎樣,JScript和Java是完全不同的兩種語言。Java是一種對於網頁應用程序和非網頁應用程序都可以使用的完全成熟的開發語言。而JScript是一種主要用於腳本編寫的腳本語言。

JScript 和VBScript的任務是相同的--都是讓你能夠編寫自己的Web網頁。每種語言都支持一些別的語言不支持的特性,不過,這些差異還不足以自動劃分兩種語言的使用範圍。

更有可能的是,你會基於一些其他因素來選擇腳本語言,最大的原因也是最實際的原因:你將要使用的平臺能夠支持你所選擇的語言嗎?你編寫的是客戶端還是服務器?如果是服務器,你的用戶會使用什麼瀏覽器和服務器軟件?

下面的文章中會詳細介紹這兩種腳本編寫語言,並且會就在特殊的環境中選擇什麼樣的腳本語言給出一點指導意見。

什麼時候選擇VBScript?

VBScript主要是用在微軟公司的各種平臺上。因此如果你想用VBScript來進行編寫,你必須要使用下列幾種腳本之一:

服務器腳本。如果你想要用VBScript來編寫服務器腳本(如在ASP網頁中),這個服務器必須是Microsoft Internet Information Server (IIS)或者是其他的服務器。

客戶端腳本。如果你想在瀏覽器腳本中用到VBScript,這個瀏覽器必須是Internet Explorer的一個版本。因爲其他流行的瀏覽器可能不支持VBScript。

如果你使用的是Visual InterDev,那麼你應該已經在使用IIS了(或是其他相同的服務器),因而用VBScript來編寫服務器腳本不是問題。如果你使用的不是IIS,你要搞清楚該服務器是不是能夠支持VBScript。

然而,如果你要建立的是一個公共Web站點,你無法控制其他人使用的瀏覽器,那麼Internet Explorer只能用於客戶端腳本這個限制就成問題了。不過,如果你是在瀏覽器已知的情況下用VBScript編寫客戶端腳本,這還是可行的。

如果你的目標平臺能夠支持VBScript,考慮一下下列因素再決定是否用VBScript來編寫腳本:

錯誤控制。在VBScript中有On Error Resume Next來對特殊情況給出說明。如果你編寫的是服務器腳本,錯誤控制是非常重要的,因爲腳本的運行是無人照顧的。

格式化。VBScript有這樣的功能,能夠輕易地把數據,數字和貨幣數據格式化。

在Internet Explorer中事件控制很方便,就像在Visual Basic中一樣。在VBScript中也能夠建立一個隱含的事件處理程序,這只需要用對象__事件結構形式來定義一項功能就行了,比如說Button1_onclick。不過在Internet Explorer中,JScript沒有這項功能(但在其他的JScript主機上支持這項功能)。

什麼時候選擇JScript?

幾乎所有允許編寫腳本的瀏覽器都支持JScript。因此,如果你是爲一個公共Web站點編寫一個廣泛散發的應用程序,用JScript來編寫客戶端腳本是很自然的選擇。你還會發現,因爲JScript應用得如此廣泛(還有與它類似的JavaScript),是一種標準的腳本語言,你可以在書店裏,也可以在網上找到很多有關的資源。

如果你想用JScript來編寫服務器腳本,那麼你應該檢查一下你的服務器是否支持它。微軟公司的IIS允許你用JScript來編寫ASP網頁的腳本,但這並不是所有的服務器都支持的。

影響到你做決定的其他因素還有:

動態執行。JScript一個非常有力的特性是:它允許你在你的腳本內建立和執行腳本或者動態地進行評價。簡而言之,在你的腳本中能夠編寫腳本。當你用DHTML進行工作時,這個特性是非常有用的,因爲這樣你就能夠動態的操作DHTML的文檔模型了。

面向對象。JScript使用的是一種基於原型的對象結構,它能夠允許你在腳本中定義對象。你能夠往對象的原型中加入方法和特性,擴展內置對象和定製對象。

使用JScript時的一個警告:JScript是區分大小寫的,如果你僅僅使用過Visual Basic 或VBScript也許對此難以適應。

如果你是初學JScript,你還要知道如何用JScript來建立事件處理程序。在Internet Explorer 中,JScript會要求你鏈接到一個對象上,而這個對象又是與事件處理程序相連的。通常,只要在鑑別事件並且有處理程序功能的對象的標籤欄中指明其屬性就能夠完成。如下例所示:

在其他的主機上,你可以使用隱含的事件綁定,不過它要求的結構與VBScript中稍稍有所不同。 在JScript中約定的隱含處理程序是:

<SCRIPT LANGUAGE="JavaScript">
function btnSave::onclick(){
// script here
}
</SCRIPT>

值得注意的是,在這兩個例子中LANGUAGE這項屬性是設置爲"JavaScript"的。Internet Explorer對於"JScript" 和"JavaScript"這兩個名字都認識,而許多其他的瀏覽器卻只認識"JavaScript",不認識"JScript" 。因此,爲了保險起見,如果你不能確定該網頁是用Internet Explorer來瀏覽,你最好用"JavaScript"。

要了解更多在JScript中建立事件處理程序的情況,請查看位於MSDN Library Online中的Microsoft Visual InterDev?文檔。(要訪問MSDN Library Online必須有MSDN Online Membership資格,這一資格是免費的,不過要簡單的一次性的註冊一下。)

如何在Visual InterDev中明確所用的腳本編寫語言?

不管你用什麼語言來編寫腳本,你必須要明確的指出來,這樣主機才知道用什麼腳本引擎來處理你的腳本。到底用什麼語言來編寫,取決於你是用內聯服務器腳本來進行工作還是用<SCRIPT>塊來工作(不管是客戶端腳本還是服務器腳本),同時也取決於你所使用的Visual InterDev的版本。

爲內聯服務器腳本選擇腳本語言

如果你使用的是IIS和ASP網頁,你可以編寫兩類服務器腳本:內聯腳本(在<% %>分隔符中的腳本)和在<SCRIPT>單元中的腳本。一般來說,用內聯腳本你可以把結果插入到網頁中的HTML中。相反,在<SCRIPT>單元中的腳本是用來建立從內聯腳本中調用的功能和子程序的。

注意:要建立一個在<SCRIPT>單元中的腳本並讓它運行起來像內聯腳本也是可能的。也就是說,腳本所陳述的不是一項功能或者某個子程序的一部分。不過我們並不推薦這種做法。要知道更多的細節請看本文後面部分的"服務器腳本執行順序"。

對於服務器和客戶端腳本來說,爲<SCRIPT>單元選擇語言的方法是一樣的。要知道詳細情況請見本文後面部分的"爲一個 <SCRIPT> 單元設置語言"。

在一個網頁中所有的內聯腳本要用同一種語言來編寫。當你建立了一個新的ASP網頁後,網頁中會自動包含一個@指示,它指明瞭內聯腳本的腳本語言。@指示可以像這樣:

<%@ Language="VBScript" %>

@指示一定是網頁中的第一行內聯腳本命令。如果沒有這個指示,IIS會缺省地指定用VBScript來作爲內聯腳本語言。

改變網頁的內聯腳本語言

在Visual InterDev 1.0中,可以對網頁進行編輯把指示改變一下,設置一種新的語言,如"JavaScript."等。

在Visual InterDev 6.0中,右鍵點擊網頁後就會出現該網頁的Properties對話框。然後在Default腳本語言下,選擇一種新語言。經過應用之後,編輯器會在@指示中更新爲相應的腳本語言。當然,如果你願意,你也可以自己手動編輯@指示。

你還能夠爲所有的新ASP網頁更換缺省值。這個操作不能夠改變現在的網頁,不過它對你從現在起建立的所有網頁都會有用。

爲內聯腳本更換缺省語言

在Visual InterDev 1.0中,從工具菜單中選擇Options選項,然後再選擇HTML一欄。在Active Server Pages的缺省腳本語言處選擇一種語言。

在Visual InterDev 6.0中,右鍵點擊Project Explorer中的項目名字,然後選擇Properties。選擇Editor Defaults一欄,然後在缺省腳本語言處選擇一個新的缺省值。

爲<SCRIPT>單元設置語言

與內聯服務器腳本不一樣的是,你在<SCRIPT>單元中所使用的腳本語言在同一個網頁中可以有很多種。如果某一塊是用VBScript來編寫的,那麼另一塊也可以用JScript。(記住,不是所有的平臺都支持VBScript。)

注意:在同一個網頁中混合幾種語言有很多注意事項,詳細內容請見本文後面部分的 "在同一個網頁中用幾種不同的語言來工作"。

爲一個<SCRIPT>單元指定語言

在<SCRIPT>標記中包含了一個LANGUAGE單元,它指明瞭你所要使用的語言。例如,在下面這個<SCRIPT>標記中就指明瞭該<SCRIPT>單元中的所有腳本都要用JScript編寫:

<SCRIPT LANGUAGE="JavaScript">
function test(){
alert("testing");
}
</SCRIPT>

注意:在IIS的服務器腳本中要求有LANGUAGE屬性。而在客戶端腳本中它只是一個選項。如果LANGUAGE屬性沒有了,處理程序會使用缺省的腳本語言。在Internet Explorer的客戶端腳本中,缺省值通常是第一個<SCRIPT>單元的腳本語言,或者如果還沒有指明任何語言,那就是JScript了。我們建議你最好不要依賴於缺省值,最好是爲<SCRIPT>單元明確地設置一種腳本語言。

在一個<SCRIPT>單元中,你不能把VBScript 和JScript混合起來使用。如果你想同時使用它們,在你的網頁中你必須至少有兩個<SCRIPT>單元。

Visual InterDev 1.0 和Visual InterDev 6.0都提供了能夠自動生成腳本的工具。在Visual InterDev 1.0 中有Script Wizard可以幫助你。而在Visual InterDev 6.0中有下列產生腳本的工具:

  • Script Block命令。只要你在網頁中點擊右鍵,出現的菜單中就會有這個命令。它能夠在你點中的那一點插入一個<SCRIPT>單元的框架。
  • Script Outline命令。當你雙擊事件的名字時它就會建立一個事件控制器的框架。在你的設置的基礎上,不同的腳本生成工具會決定你所要用的語言。你可以在個別網頁中爲腳本工具而改變缺省的語言種類。

在Visual InterDev 1.0中爲Script Wizard設置語言

從Tools菜單中選擇Options選項,然後選擇HTML欄。在Script Wizard的缺省腳本語言中選擇一種語言。

在Visual InterDev 6.0中爲腳本生成工具設置一個網頁中的語言

首先,右鍵點擊網頁,網頁的Properties對話框出現。然後在缺省腳本語言下選擇一種新的語言。你能夠爲服務器腳本和客戶端腳本設置同一種語言。

注意:爲產生服務器腳本塊而作出的設置一樣可用於爲內聯腳本設置語言。如果你想在內聯腳本中使用一種語言,而在用工具產生的服務器腳本塊中使用另外一種語言,你只能手工地進行語言改換。

你還可以改變你的項目的缺省值,這樣你建立起來的所有網頁都會有與腳本工具一樣的缺省語言設置。

在Visual InterDev 6.0項目中改變腳本生成工具的缺省語言設置

在Project Explorer中右鍵點擊項目的名字,然後選擇Properties。選擇Editor Defaults,在缺省腳本語言處選擇一個新的缺省值。

注意:已產生的服務器腳本塊語言的設置方法同樣可以用於爲內聯腳本設置語言。如果你想在內聯腳本中使用一種語言,而在用工具產生的服務器腳本塊中使用另外一種語言,你只能手工地進行語言改換。

想知道Visual InterDev 6.0中腳本生成工具的更多信息,請查看位於MSDN Library Online中的"Choosing a Scripting Language"和Visual InterDev 6.0文檔中的 "Handling Events with HTML Elements"。

在同一個網頁中同時使用幾種語言

我想我已經說得很清楚了,在同一個網頁中可以使用不同的腳本編寫語言。讓 再回顧一下:爲什麼你想這麼做?以下是幾個原因:

第一個原因是:你只是想在一個程序中利用某種語言的優點,而腳本的其他部分還是用另外一種語言來編寫。

第二個原因是:可能你所面對的現有編碼是用你不熟悉的語言來編寫的。例如,設計時間控制是用JScript編寫的,而你熟悉的語言卻是VBScript。在大部分情況下,你可以在同一個網頁中混合幾種腳本語言並且它們相互之間能夠配合得很好。用一種語言編寫的腳本可以調用用另外一種語言編寫的程序並且能夠共享全局變量。不過有時候還是會出現一點小問題,現在我將要就此說明一下。

在一個VBScript調用中的括號

當你從VBScript中調用一個JScript函數時,注意在調用過程中要有括號,即使這項函數不要求設置參數也需如此。例如,一個調用應該像這樣:

retVal = callJSFunction()

如果你忘記了加括號,那麼這個函數所返回的值就不是你所希望的值,而是一個包含了函數本身的目標。

服務器腳本的執行順序

內聯服務器腳本按順序運行,從頭到尾。你可以在一個服務器腳本中定義一個可調用的程序(函數或者是子程序),這樣的話,如果需要就可以隨時調用它們。

所有的內聯腳本必須用同一種語言來編寫,也就是在網頁前面的@指示中所指明的腳本語言。因此,在一個內聯腳本中你不能把幾種腳本語言混合起來。

你也許會說"等一等"。在理論上,把內聯腳本放到<SCRIPT>單元中是絕對可能的--也就是說只要在單元中的腳本不是一個函數或者一個子程序就可以了。就像下例一樣:

<% Response.Write("Some inline script<BR>")%>
<SCRIPT LANGUAGE="VBScript" RUNAT="Server">
Response.Write("Script in a SCRIPT element<BR>")
</SCRIPT>

是的,你可以這麼做。但是,這樣你就會被IIS ASP處理程序的執行順序控制。例如,如果你建立了服務器腳本並且在IIS 4.0中運行它,你會發現執行順序是這樣的:

  • 採用非缺省語言的<SCRIPT>單元腳本
  • 內聯腳本
  • 採用缺省語言的<SCRIPT>單元腳本

以上的順序在很大程度上依賴於ActiveX語言引擎的載入順序,同時IIS 中的ASP處理程序可能在將來會有所改變,因此,我們很不希望你按照這個順序進行工作,不管你是隻把<SCRIPT>單元用於函數或者子程序,還是把它僅僅用於執行順序無關緊要的編碼。

腳本塊的順序

當你把幾種語言混合使用時,<SCRIPT>塊在網頁中出現的順序非常重要,有時候會影響到它們是否能正常工作。看看下面這個簡單的例子,它是在一個內聯的VBScript腳本中調用一個用JScript編寫的函數:

<SCRIPT LANGUAGE="VBScript">
' Calls a JScript function
aNumber = 2
doubledNumber = doubleMe(aNumber)
document.write("The answer is " & doubledNumber)
</SCRIPT>

<SCRIPT LANGUAGE="JavaScript">
function doubleMe(aNumber){
return aNumber * 2;
}
</SCRIPT>

它不會起任何作用。說得更明白一點就是,文檔寫入說明會往網頁中寫入一個空的字符串。爲什麼?很簡單,在處理VBScript塊時,下面的JScript <SCRIPT>塊沒有被讀出來,沒有進行語法分析,因此網頁不能使用它。而當瀏覽器處理網頁中的腳本塊時,它是從上往下進行的。

在這個例子中,只需要調換一下腳本塊的順序就能夠解決這個問題了。事實上,這類問題並不那麼常見,在大多數情況下,<SCRIPT>中包含的函數和子程序只有當整個網頁被全部下載下來並且所有的單元都可以使用之後才能夠被調用。不過,你還是要記住,網頁是按照一定的順序來處理的,不同語言的<SCRIPT>塊是分別處理的。

區分大小寫以及命名習慣

JScript能夠區別大寫和小寫:在每個JScript的關鍵字,還有JScript姓名空間的所有部分中,你可以把大寫和小寫字母恰當的結合起來使用。這其中包括了你使用的對象模型中所有的關鍵字。例如,當你使用ASP Response對象時,必須正確地使用大寫或小寫字母(如Response.Write),否則JScript 會堅決不予承認。同樣的,如果你爲DHTML onclick事件編寫一個處理程序時,如果用在Visual Basic中經常使用的形式JScript可能就不會承認。

VBScript當然是不區分大寫和小寫字母的。在某種程度上,這種不計較大小寫的忽視甚至在你用VBScript對JScript編寫的單元進行訪問時都適用。下面幾個小例子中給出了兩個腳本。第一個是用JScript編寫的,其中還包括了一個全局變量(ctr)和一個小小的函數(doubleMe)。第二個腳本是用VBScript編寫的,它是一個按鈕處理程序,它能夠調用JScript函數,並且報告全局變量的值。

<SCRIPT LANGUAGE=javascript>var ctr;function doubleMe(aNumber){ // Initialize value of global counter if(parseInt(ctr)){
ctr = ctr + 1;}
else{
ctr = 1;
}
return aNumber * 2;
}
</SCRIPT>

<SCRIPT LANGUAGE="vbscript">
Function btn1_onclick()
numberToDouble = 12
alert("The doubled number = " & DoubleMe(numberToDouble))
alert("You have doubled the number " & Ctr & " times.")
End function
</SCRIPT>

在VBScript腳本中,很明顯,我在提到doubleMe 函數和ctr變量時,沒有正確使用字母的大小寫,但是程序依然運行良好。

這是一個好消息。而壞消息就是,在下面這些情況下你一定要注意字母的大小寫:

如果網頁中的JScript腳本所包含的單元只能夠通過字母的大寫和小寫來區分,例如,一個叫做Timer()的函數和一個叫做timer的全局變量等等。記住,儘管這種編碼方式不怎麼好,但是有時候在你的網頁中還是可能會遇到原來就存在的編碼。

如果你在一個函數調用中把JScript單元的名字作爲一個字符串參數來使用

如果JScript包括的單元僅僅能夠用字母的大小寫來區分,那麼VBScript就會讓你把它們看成一樣的(也就是說,不區分大寫和小寫)。VBScript只能看看不管大小寫的區別,它們是不是一樣,因此它識別出的只有一個JScript單元。換一句話說,如果VBScript首先找到的是叫做Timer()的函數,那麼它就無法找到叫做timer的全局變量了,反之也是一樣。即便你在VBScript編碼中十分注意的把它們做了區別結果也是一樣。因爲VBScript在處理這些名字的時候認爲它們只有一種寫法。不幸的是,這裏沒有其它的解決方法,除非在JScript的代碼中不利用這些大小寫之間的微小差別來區分不同的函數名稱。

除了在某些特殊的情況下,把單元名作爲參數使用這種問題並不常見。特殊情況之一是在Visual InterDev 6.0中的腳本對象模型中。下面我會把它作爲一個例子來使用,你可以把它看作是相同情況下的處理準則。

Visual InterDev 6.0的腳本對象模型都是用JScript來編寫的。你也可以用VBScript來編寫自己的編碼,它能夠與用VBScript區分大小寫方式編寫的腳本對象模型一起使用。有時候,你不能夠直接調用某一方法,除非你把這個方法的名稱傳遞到一個JScript函數中,而由函數來爲你調用這個方法。

一個典型的例子就是警告方法,你可以用它把一個方法綁定到一個特殊的事件上。在下面這個例子中,一個按鈕的onmouseover事件被綁定到changecaption()事件處理程序上。

<SCRIPT LANGUAGE="VBScript">Function setAdviseMethods()
Btn1.advise("onmouseover", "changecaption()")
End Function
</SCRIPT>

因爲你把這些名字作爲字符串傳送到一個JScript函數中,所以你能夠得到正確的大小寫表示。稍後,JScript會自動用它的區分大小寫的規則來重新評估這些名字,如果大小寫不正確,它會找不到它們。

從VBScript 往JScript中傳送數組

有時候一個VBScript程序會傳送一個數組作爲它的一個參數,或者作爲它的返回值。你可以從JScript中調用這個程序,不過必須把VBScript 數組轉換成爲一個可用的JScript 數組。你只要在JScript 函數中建立一個VBArray 對象並且用toArray把它轉換成爲一個JScript數組就可以了。

注意:JScript不支持多維數組,如果原來的VBScript數組是多維的,經過toArray的轉換後它會成爲一個一維的JScript數組。

在下面的例子中有一個VBScript 腳本,它建立了一個數組,還有一個JScript腳本,它將說明如何才能獲得並使用這個數組:

<SCRIPT LANGUAGE="VBSCRIPT">
Function makeArrayVB()
' Creates a VBScript array
dim anArray(1,1)
anArray(0,0) = "0,0"
anArray(0,1) = "0,1"
anArray(1,0) = "1,0"
anArray(1,1) = "1,1"
makeArrayVB = anArray
End Function

<SCRIPT LANGUAGE="JavaScript">
// Accesses a VBScript array within a JScript script
function getVBArray(){
var arrayObj;
var jsArray;
arrayObj = makeArrayVB();
jsArray = VBArray(arrayObj).toArray();
alert("VBScript array length = " + jsArray.length);
// Displays the contents of the array
for(i=1;i<=jsArray.length;i++){
alert(jsArray[i-1]);
}
}
</SCRIPT>

不過,在目前的VBScript(4.0)中,反過來是無法做到的。也就是說你不能把一個JScript 數組轉換成爲VBScript數組。如果你遇到的是一個JScript程序,要轉換數組,你可以選擇一下幾種做法:

  • 用JScript編寫調用程序
  • 用VBScript 重新編寫JScript程序
  • 如果可能,把JScript 數組轉換成一種不同的結構,如轉換成一個限制的字符串等,這樣VBScript 就能夠使用了。例如,你可以用toString 函數把一個數組轉換成一個用逗號分隔的,無限制的字符串。這樣,在VBScript中你就能夠用Split函數把它分成不同的單元。很明顯這種方法在很多時候並不管用,不過有時又的確有效。

更新腳本語言

VBScript和 JScript都不是一成不變的語言。兩種語言的引擎都定時進行更新,增加一些新的特性,解決已經發現的問題。因爲兩種語言實際上都是作爲ActiveX組件來應用的,所以每當你更新任何控制器時,你就可以同時更新它們。當你安裝了新的語言引擎之後,任何需要調用引擎的應用程序會在它們運行某些腳本時調用這個新引擎--這些引擎包括Internet Explorer 或Visual InterDev等。

如果要了解語言引擎的情況以及如何更新的方法,還有腳本的一般知識,請訪問Microsoft Scripting Web站點,網址是:
http://msdn.microsoft.com/scripting/。同時,祝你編寫腳本時一切順利!

如果有問題,請發e-mail給我們。
如果有技術問題,請閱讀有關技術支持的部分。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章