ฟังก์ชัน Shell

นำไปใช้กับ
Access for Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

หมายเหตุ

ฟังก์ชัน วิธีการ วัตถุ หรือคุณสมบัติที่อธิบายไว้ในหัวข้อนี้จะถูกปิดใช้งานถ้า 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)