งบเบ็ดเตล็ด VBScript

VBScript มีข้อความสำคัญอื่น ๆ อีกสองสามอย่างเพื่อช่วยนักพัฒนาในการพัฒนาสคริปต์ที่มีประสิทธิภาพ ตารางต่อไปนี้แสดงชุดคำสั่งที่สำคัญดังกล่าว ในบทนี้เราจะพูดถึงข้อความเหล่านี้โดยละเอียดพร้อมตัวอย่าง

ประเภท ชื่อฟังก์ชัน / ชื่อคำชี้แจง
ตัวเลือก ตัวเลือกที่ชัดเจน
รหัสเครื่องยนต์สคริปต์ ScriptEngine
ตัวแปร IsArray, IsEmpty, IsNull, IsNumeric, IsObject, TypeName
นิพจน์ Eval ดำเนินการ
คำชี้แจงการควบคุม ด้วย ... ปิดท้ายด้วย
ฟังก์ชันคณิตศาสตร์ สุ่ม

ตัวเลือกที่ชัดเจน

Option Explicit บังคับให้นักพัฒนาประกาศตัวแปรโดยใช้ Dim ก่อนที่จะใช้ในบางส่วนของโค้ด

ไวยากรณ์

Option Explicit

ตัวอย่าง

ถ้าเราใช้ Option Explicit และถ้าเราไม่ประกาศตัวแปรล่ามก็จะเหวี่ยงและผิดพลาด

<!DOCTYPE html>
<html>
   <body>
      <script language = "vbscript" type = "text/vbscript">
         Option Explicit
         Dim x,y,z,a
         x = 10
         y = 20
         z = fnadd(x,y)
         a = fnmultiply(x,y)

         Function fnadd(x,y)
            fnadd = x+y
         End Function

      </script>
   </body>
</html>

ScriptEngine

ScriptEngineแสดงถึงรายละเอียดของภาษาสคริปต์ที่ใช้ นอกจากนี้ยังใช้ร่วมกับScriptEngineMajorVersion, ScriptEngineMinor Version, ScriptEngineBuildVersion ซึ่งให้เวอร์ชันหลักของเอ็นจิน vbscript เวอร์ชันรองคือเอ็นจิ้น vbscript และเวอร์ชันสร้างของ vbscript ตามลำดับ

ไวยากรณ์

ScriptEngine

ตัวอย่าง

<!DOCTYPE html>
<html>
   <body>
      <script language = "vbscript" type = "text/vbscript">
         Dim scriptdetails
         scriptdetails =  " Version " & ScriptEngine & " - "
         'For getting Major version, use ScriptEngineMajorVersion'
        
         scriptdetails = scriptdetails &  ScriptEngineMajorVersion & "."
        
         'For getting Minor version, use ScriptEngineMinorVersion'
         scriptdetails = scriptdetails & ScriptEngineMinorVersion & "."
        
         'For getting Build version, use ScriptEngineBuildVersion'
         scriptdetails = scriptdetails & ScriptEngineBuildVersion 
        
         Document.write scriptdetails

      </script>
   </body>
</html>

บันทึกไฟล์ด้วยนามสกุล. html เมื่อเรียกใช้สคริปต์ใน IE ผลลัพธ์ต่อไปนี้จะปรากฏบนหน้าจอ

Version VBScript - 5.8.16996

มันว่างเปล่า

ฟังก์ชัน IsEmpty ใช้เพื่อตรวจสอบว่านิพจน์ว่างหรือไม่ ส่งคืนค่าบูลีนIsEmptyส่งคืนค่า True หากตัวแปรไม่ได้เริ่มต้นหรือตั้งค่าเป็น Empty อย่างชัดเจน มิฉะนั้นนิพจน์จะคืนค่า False

ไวยากรณ์

IsEmpty(expression)

ตัวอย่าง

<!DOCTYPE html>
<html>
   <body>
      <script language = "vbscript" type = "text/vbscript">
         Dim var, MyCheck
         MyCheck = IsEmpty(var)  
         Document.write "Line 1 : " & MyCheck & "<br />"
        
         var = Null   ' Assign Null.
         MyCheck = IsEmpty(var) 
         Document.write "Line 2 : " & MyCheck & "<br />"
         
         var = Empty   ' Assign Empty.
         MyCheck = IsEmpty(var)
         Document.write "Line 3 : " & MyCheck & "<br />"
        
      </script>
   </body>
</html>

บันทึกไฟล์ด้วยนามสกุล. html เมื่อเรียกใช้สคริปต์ใน IE ผลลัพธ์ต่อไปนี้จะปรากฏบนหน้าจอ

Line 1 : True
Line 2 : False
Line 3 : True

IsNull

ฟังก์ชัน IsNull ใช้เพื่อตรวจสอบว่านิพจน์มีข้อมูลที่ถูกต้องหรือไม่ ส่งคืนค่าบูลีนIsNull ส่งคืน True หากตัวแปรเป็น Null มิฉะนั้นนิพจน์จะส่งกลับ False

ไวยากรณ์

IsNull(expression)

ตัวอย่าง

<!DOCTYPE html>
<html>
   <body>
      <script language = "vbscript" type = "text/vbscript">
         Dim var, res
         res = IsNull(var)
         document.write "Line 1 : " & res & "<br />"
         
         var = Null
         res = IsNull(var)
         document.write "Line 2 : " & res & "<br />"
         
         var = Empty
         res = IsNull(var)
         document.write "Line 3 : " & res & "<br />"

      </script>
   </body>
</html>

บันทึกไฟล์ด้วยนามสกุล. html เมื่อเรียกใช้สคริปต์ใน IE ผลลัพธ์ต่อไปนี้จะปรากฏบนหน้าจอ

Line 1 : False
Line 2 : True
Line 3 : False

IsObject

ฟังก์ชัน IsObject ใช้เพื่อตรวจสอบว่านิพจน์มี Object ที่ถูกต้องหรือไม่ ส่งคืนค่าบูลีนIsObject ส่งกลับค่า True หากนิพจน์มีประเภทย่อยของอ็อบเจ็กต์มิฉะนั้นนิพจน์จะส่งคืน False

ไวยากรณ์

IsObject(expression)

ตัวอย่าง

<!DOCTYPE html>
<html>
   <body>
      <script language = "vbscript" type = "text/vbscript">
        Dim fso,b
        b = 10
        set fso = createobject("Scripting.Filesystemobject")
        
        x = isobject(fso)
        Document.write "Line 1 : " &  x  & "<br />" 
        
        y = isobject(b)
        Document.write "Line 2 : " &  y  & "<br />" 

      </script>
   </body>
</html>

บันทึกไฟล์ด้วยนามสกุล. html เมื่อเรียกใช้สคริปต์ใน IE ผลลัพธ์ต่อไปนี้จะปรากฏบนหน้าจอ

Line 1 : True
Line 2 : False

IsNumeric

ฟังก์ชัน IsNumeric ใช้เพื่อตรวจสอบว่านิพจน์มีประเภทย่อยตัวเลขหรือไม่ ส่งคืนค่าบูลีนIsObject ส่งคืนค่า True หากนิพจน์มีประเภทย่อยตัวเลขมิฉะนั้นนิพจน์จะส่งกลับ False

ไวยากรณ์

IsNumeric(expression)

ตัวอย่าง

<!DOCTYPE html>
<html>
   <body>
      <script language = "vbscript" type = "text/vbscript">
         Dim var, chk
         var = 20
         chk = IsNumeric(var)
         Document.write "Line 1 : " &  chk  & "<br />" 
        
         var = "3.1415935745"   
         chk = IsNumeric(var)   
         Document.write "Line 2 : " &  chk  & "<br / >" 
        
         var = "20 Chapter 23.123 VBScript"   
         chk = IsNumeric(var)
         Document.write "Line 3 : " &  chk  & "<br / >" 

      </script>
   </body>
</html>

บันทึกไฟล์ด้วยนามสกุล. html เมื่อเรียกใช้สคริปต์ใน IE ผลลัพธ์ต่อไปนี้จะปรากฏบนหน้าจอ

Line 1 : True
Line 2 : True
Line 3 : False

TypeName

ฟังก์ชัน TypeName ใช้เพื่อส่งคืนข้อมูลประเภทย่อยของตัวแปรของตัวแปร

ไวยากรณ์

TypeName(varname)

ฟังก์ชัน Typename สามารถส่งคืนค่าใด ๆ ต่อไปนี้

  • ไบต์ - ค่าไบต์

  • Integer - ค่าจำนวนเต็ม

  • Long - ค่าจำนวนเต็มยาว

  • ค่าทศนิยมเดี่ยวที่มีความแม่นยำเดียว

  • Double - ค่าทศนิยมที่มีความแม่นยำสองเท่า

  • สกุลเงิน - มูลค่าเงินตรา

  • ทศนิยม - ค่าทศนิยม

  • วันที่ - ค่าวันที่หรือเวลา

  • String - ค่าสตริงอักขระ

  • บูลีน - ค่าบูลีน

  • ว่างเปล่า - ค่าที่ยังไม่ได้เริ่มต้น

  • Null - ไม่มีข้อมูลที่ถูกต้อง

  • Object - ชื่อของวัตถุ

  • ไม่มีอะไร - ตัวแปรออบเจ็กต์ที่ยังไม่อ้างถึงอินสแตนซ์ออบเจ็กต์

  • Error

ตัวอย่าง

<!DOCTYPE html>
<html>
   <body>
      <script language = "vbscript" type = "text/vbscript">
         Dim ArrVar(2), vartype
         NullVar = Null   ' Assign Null value.

         vartype = TypeName(3.1450)     
         Document.write "Line 1 : " &  vartype  & "<br />" 
         
         vartype = TypeName(432)         
         Document.write "Line 2 : " &  vartype  & "<br />" 
         
         vartype = TypeName("Microsoft")
         Document.write "Line 3 : " &  vartype  & "<br />" 
         
         vartype = TypeName(NullVar)   
         Document.write "Line 4 : " &  vartype  & "< br />" 
         
         vartype = TypeName(ArrVar)    
         Document.write "Line 5 : " &  vartype  & "<br />"

      </script>
   </body>
</html>

บันทึกไฟล์ด้วยนามสกุล. html เมื่อเรียกใช้สคริปต์ใน IE ผลลัพธ์ต่อไปนี้จะปรากฏบนหน้าจอ

Line 1 : Double
Line 2 : Integer
Line 3 : String
Line 4 : Null
Line 5 : Variant()

Eval

ฟังก์ชัน Eval เรียกใช้นิพจน์และส่งคืนผลลัพธ์เป็นสตริงหรือตัวเลข

ไวยากรณ์

Eval(expression)

นิพจน์อาร์กิวเมนต์อาจเป็นนิพจน์สตริงหรือตัวเลข ถ้าคุณส่งผ่านไปยังฟังก์ชัน Eval ซึ่งเป็นสตริงที่ไม่มีนิพจน์ตัวเลขหรือชื่อฟังก์ชัน แต่มีเพียงสตริงข้อความธรรมดาจะเกิดข้อผิดพลาดขณะทำงาน ตัวอย่างเช่น Eval ("VBScript") ทำให้เกิดข้อผิดพลาด

ตัวอย่าง

<!DOCTYPE html>
<html>
   <body>
      <script language = "vbscript" type = "text/vbscript">
         Document.write Eval("10 + 10") & "<br />"
         Document.write Eval("101 = 200") & "<br />" 
         Document.write Eval("5 * 3") & "<br />" 

      </script>
   </body>
</html>

บันทึกไฟล์ด้วยนามสกุล. html เมื่อเรียกใช้สคริปต์ใน IE ผลลัพธ์ต่อไปนี้จะปรากฏบนหน้าจอ

20
false
15

ดำเนินการ

คำสั่ง Execute ยอมรับอาร์กิวเมนต์ที่เป็นนิพจน์สตริงที่มีหนึ่งคำสั่งหรือมากกว่าสำหรับการดำเนินการ

ไวยากรณ์

Execute(expression)

ใน VBScript a = b สามารถตีความได้สองวิธี สามารถถือเป็นคำสั่งกำหนดโดยค่าของ x ถูกกำหนดให้กับ y นอกจากนี้ยังสามารถตีความเป็นนิพจน์ที่ทดสอบว่า a และ b มีค่าเท่ากันหรือไม่ หากเป็นเช่นนั้นผลลัพธ์จะเป็นจริง หากไม่เป็นเช่นนั้นผลลัพธ์จะเป็นเท็จ คำสั่ง Execute ใช้การตีความแรกเสมอในขณะที่คำสั่ง Eval ใช้คำสั่งที่สองเสมอ

ตัวอย่าง

<!DOCTYPE html>
<html>
   <body>
      <script language = "vbscript" type = "text/vbscript">
         Dim x
         x = "Global" 
         y = "VBScript"
         Execute("x = y")
         
         msgbox x
         msgbox y
        
      </script>
   </body>
</html>

บันทึกไฟล์ด้วยนามสกุล. html เมื่อเรียกใช้สคริปต์ใน IE ผลลัพธ์ต่อไปนี้จะปรากฏบนหน้าจอ

VBScript
VBScript

ด้วย.. จบด้วย

คำสั่ง With ช่วยให้เราสามารถดำเนินการหลายชุดกับวัตถุที่ระบุโดยไม่ต้องเอ่ยชื่อวัตถุซ้ำแล้วซ้ำอีกอย่างชัดเจน

ไวยากรณ์

With (objectname)
   statement 1
   statement 2
   statement 3
   ...
   ...
   statement n
End With

ตัวอย่าง

เมื่อเรียกใช้สคริปต์ต่อไปนี้ Winword จะเปิดขึ้นและป้อนข้อความที่ระบุ

<!DOCTYPE html>
<html>
   <body>
      <script language = "vbscript" type = "text/vbscript">
         Msg =  "Vbscript" & vbCrLf & "Programming"
         Set objWord = CreateObject("Word.Application")
         objWord.Visible = True
       
         ' Objects methods are accessed without requaliyfying the objects again.'
         With objWord
            .Documents.Add
            .Selection.TypeText Msg
            .Selection.WholeStory
         End With
         
      </script>
   </body>
</html>

สุ่ม

คำสั่ง Randomize เริ่มต้นตัวสร้างตัวเลขสุ่มซึ่งเป็นประโยชน์สำหรับนักพัฒนาในการสร้างตัวเลขสุ่ม

ไวยากรณ์

Randomize [number]

ตัวอย่าง

เมื่อเรียกใช้สคริปต์ต่อไปนี้ Winword จะเปิดขึ้นและป้อนข้อความที่ระบุ

<!DOCTYPE html>
<html>
   <body>
      <script language = "vbscript" type = "text/vbscript">
         Dim MyValue
         Randomize   
         MyValue = Int((100 * Rnd) + 1)   ' Generate random value between 1 and 100.
         MsgBox MyValue
        
      </script>
   </body>
</html>

บันทึกสคริปต์ข้างต้นเป็น HTML และเมื่อเรียกใช้สคริปต์ใน IE ผลลัพธ์ต่อไปนี้จะปรากฏขึ้น

42