Online Reference

Home

Microsoft Reference
Knowledge Developer Database Internet Resource Forum
VBA
General Function
ดาวน์โหลดคู่มือ

Command Function

VBA Function, ส่งออกค่าเป็นอากิวเมนต์ของ Command line ใช้ในการเริ่มโปรแกรม Visual Basic หรือโปรแกรมที่พัฒนาด้วย Visual Basic

ไวยากรณ์

Command

อากิวเมนต์ drive ไม่บังคับ ซึ่งมีค่าเป็น Expression ของข้อความที่ระบุ Drive ที่มีอยู่จริง ถ้าไม่มีการกำหนด drive หรือ drive เป็น zero-length string (“”) ฟังก์ชัน CurDir จะส่งค่าของ Drive ปัจจุบัน

ลักษณะการประยุกต์

เมื่อใช้ภาษา Visual Basic จาก command line โดยส่วนต่างๆของ command line ที่ตามด้วย /cmd ได้รับการส่งไปที่โปรแกรมในฐานะอากิวเมนต์ของ command line ในตัวอย่างต่อไป cmdlineargs แสดงสารสนเทศของอากิวเมนต์ที่ส่งออกโดยฟังก์ชัน Command

VB = /cmd cmdlineargs

สำหรับการพัฒนาโปรแกรมประยุกต์ด้วย Visual Basic และคอมไพล์เป็นไฟล์ .exe ฟังก์ชัน Command ส่งออกอากิวเมนต์ที่ปรากฏภายหลังชื่อของโปรแกรมประยุกต์บน command line

MyApp cmdlineargs

ในการค้นหาอากิวเมนต์ command line สามารถเปลี่ยนการอินเตอร์เฟซกับผู้ใช้โปรแกรมประยุกต์

การประยุกต์ใน Access

การเปลี่ยนอากิวเมนต์ command line กับฐานข้อมูลที่เปิดอยู่ ให้ไปที่เมนู Tools เลือกคำสั่ง Options บนแท็บ Advanced ของไดอะล๊อกบ๊อกซ์ Options ป้อนอากิวเมนต์ใหม่ใน Command-Line Arguments box ฟังก์ชัน Command จะส่งออกอากิวเมนต์ใหม่ที่ป้อนเข้าไป

เมื่อฟังก์ชัน Command ได้รับการใช้นอกจากคำสั่ง Visual Basic ในโมดูล ต้องมีการเพิ่มวงเล็บหลังฟังก์ชัน เช่น การใช้ฟังก์ชัน Command ใน text box บนฟอร์ม ต้องตั้งค่าคุณสมบัติ ControlSource ของ text box เป็น expression ดังนี้

=Command()

ตัวอย่าง

ตัวอย่างการใช้ฟังก์ชัน Command ดึงอากิวเมนต์ command line ในฟังก์ชันที่ส่งออกเป็น array

' ในส่วนการประกาศ
Dim ArgArray() As Variant

Function GetCommandLine(Optional MaxArgs)

  ' ประกาศตัวแปร
  Dim C, CmdLine, CmdLnLine, InArg, I, NumArgs
  ' ตรวจสอบ MaxArgs
  If IsMissing(MaxArgs) Then MaxArgs = 10

  ' ทำให้ array มีขนาดถูกต้อง
  ReDim ArgArray(MaxArgs)
  Numarg = 0
  InArg = False

  ' ดึงอากิวเมนต์ command line
  CmdLine = Command()
  CmdLnLine = Len(CmdLine)

  ' เข้าสู่ command line ทีละ 1 ตัวอักษร
  For I = 1 To CmdLnLine

    C = Mid(CmdLine, I, 1)
    ' ตรวจสอบ ช่องว่างหรือแท็บ
    If C <> "" And C <> vbTab Then
      ' ตรวจสอบอากิวเมนต์
      If Not InArg Then

        ' เริ่มอากิวเมนตใหม่ ทดสอบอากิวเมนต์มากเกินไป
        If NumArgs = MaxArgs Then Exit For
          NumArgs = NumArgs + 1
          InArg = True
        End If

        ' เพิ่มตัวอักษรไปที่อากิวเมนต์ปัจจุบัน
        ArgArray(NumArgs) = ArgArray(NumArgs) + C

      Else
        ' พบ ช่องว่างหรือแท็บ ตั้งค่า InArg เป็น False
        InArg = False
      End If
    End If
  Next I

  ' ปรับขนาด array ให้เพียงพอกับการเก็บอากิวเมนต์
  ReDim Preserve ArgArray(NumArgs)

  ' ส่งออก array ในชื่อฟังก์ชัน
  GetCommandLine = ArgArray()

End Function