หมายเหตุ
ฟังก์ชัน วิธีการ วัตถุ หรือคุณสมบัติที่อธิบายไว้ในหัวข้อนี้จะถูกปิดใช้งานถ้า Microsoft Jet Expression Service กําลังทํางานในโหมด Sandbox ซึ่งจะป้องกันการประเมินนิพจน์ที่อาจไม่ปลอดภัย สําหรับข้อมูลเพิ่มเติมเกี่ยวกับโหมด Sandbox ให้ค้นหา "โหมด Sandbox" ในวิธีใช้
เรียกใช้โปรแกรมปฏิบัติการและส่งกลับ ตัวเป็นตัวแปร (Double) ที่แสดง ID งานของโปรแกรมถ้าสําเร็จ มิฉะนั้นจะส่งกลับค่าศูนย์
ไวยากรณ์
Shell(pathname [, windowstyle ] )
ไวยากรณ์ของฟังก์ชัน Shell มีอาร์กิวเมนต์ดังนี้
| อาร์กิวเมนต์ | คำอธิบาย |
|---|---|
| pathname | จำเป็น
ตัวแปร (สตริง) ชื่อของโปรแกรมที่จะดําเนินการและอาร์กิวเมนต์ที่จําเป็นหรือสวิตช์บรรทัดคําสั่ง อาจรวมถึงไดเรกทอรี หรือโฟลเดอร์ และไดรฟ์ บน Macintosh คุณสามารถใช้ฟังก์ชัน MacID เพื่อระบุลายเซ็นของแอปพลิเคชันแทนชื่อได้ ตัวอย่างต่อไปนี้ใช้ลายเซ็นสําหรับ Microsoft Word:Shell MacID("MSWD") |
| windowstyle | ไม่จำเป็น ตัวแปร (จํานวนเต็ม) ที่สอดคล้องกับสไตล์ของหน้าต่างที่จะเรียกใช้โปรแกรม ถ้าไม่ระบุ สไตล์หน้าต่าง โปรแกรมจะเริ่มย่อเล็กสุดโดยมีโฟกัส บน Macintosh (ระบบ 7.0 ขึ้นไป) สไตล์ หน้าต่าง จะกําหนดว่าแอปพลิเคชันจะได้รับโฟกัสเมื่อทํางานอยู่หรือไม่ |
อาร์กิวเมนต์ที่มีชื่อสไตล์ หน้าต่าง จะมีค่าเหล่านี้:
| ค่าคงที่ | ค่า | คำอธิบาย |
|---|---|---|
| vbHide | 0 | หน้าต่างจะถูกซ่อน และโฟกัสจะถูกส่งไปยังหน้าต่างที่ซ่อนอยู่ ค่าคงที่ vbHide ไม่สามารถใช้งานได้บนแพลตฟอร์ม Macintosh |
| vbNormalFocus | 1 | หน้าต่างมีโฟกัสและถูกคืนค่ากลับไปเป็นขนาดและตําแหน่งเดิม |
| vbMinimizedFocus | 2 | หน้าต่างจะแสดงเป็นไอคอนที่มีโฟกัส |
| vbmaximizedfocus | 3 | หน้าต่างถูกขยายใหญ่สุดด้วยโฟกัส |
| vbNormalNoFocus | 4 | หน้าต่างจะถูกคืนค่าเป็นขนาดและตําแหน่งล่าสุด หน้าต่างที่ใช้งานอยู่ในปัจจุบันจะยังคงทํางานอยู่ |
| vbMinimizedNoFocus | 6 | หน้าต่างจะแสดงเป็นไอคอน หน้าต่างที่ใช้งานอยู่ในปัจจุบันจะยังคงทํางานอยู่ |
ข้อสังเกต
ถ้าฟังก์ชัน เชลล์ ดําเนินการไฟล์ที่มีชื่อเรียบร้อยแล้ว จะส่งกลับ ID งานของโปรแกรมที่เริ่มใช้งาน ID งานเป็นหมายเลขที่ไม่ซ้ํากันที่ระบุโปรแกรมที่กําลังทํางานอยู่ ถ้าฟังก์ชัน Shell ไม่สามารถเริ่มโปรแกรมที่มีชื่อได้ จะเกิดข้อผิดพลาดขึ้น
บน Macintosh นั้น vbNormalFocus, vbMinimizedFocus และ vbMaximizedFocus ทั้งหมดนี้จะวางแอปพลิเคชันไว้เบื้องหน้า vbHide, vbNoFocus, vbMinimizeFocus ทั้งหมดจะวางแอปพลิเคชันในพื้นหลัง
หมายเหตุ
ตามค่าเริ่มต้น ฟังก์ชัน Shell จะเรียกใช้โปรแกรมอื่นแบบอะซิงโครนัส ซึ่งหมายความว่าโปรแกรมที่เริ่มต้นด้วย Shell อาจดําเนินการไม่เสร็จสิ้นก่อนที่คําสั่งต่อจากฟังก์ชัน Shell จะถูกดําเนินการ
ตัวอย่าง
หมายเหตุ
ตัวอย่างต่อไปนี้จะสาธิตการใช้ฟังก์ชันนี้ในโมดูล Visual Basic for Applications (VBA) สําหรับข้อมูลเพิ่มเติมเกี่ยวกับการทํางานกับ VBA ให้เลือก การอ้างอิงนักพัฒนาในรายการ ดรอปดาวน์ที่อยู่ถัดจาก ค้นหา แล้วใส่คําอย่างน้อยหนึ่งคําในกล่องค้นหา
ตัวอย่างนี้ใช้ฟังก์ชัน Shell เพื่อเรียกใช้แอปพลิเคชันที่ระบุโดยผู้ใช้ บน Macintosh ชื่อไดรฟ์เริ่มต้นคือ "HD" และบางส่วนของชื่อเส้นทางจะคั่นด้วยเครื่องหมายจุดคู่แทนเครื่องหมายแบคสแลช ในทํานองเดียวกัน คุณควรระบุโฟลเดอร์ Macintosh แทน \Windows
' Specifying 1 as the second argument
' opens the application in normal size and
' gives it the focus.
Dim RetVal
' Run Calculator.
RetVal = Shell("C:\WINDOWS\CALC.EXE", 1)