ฟังก์ชัน Shell

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

หมายเหตุ

ฟังก์ชัน วิธีการ วัตถุ หรือคุณสมบัติที่อธิบายไว้ในหัวข้อนี้จะถูกปิดใช้งานถ้า Microsoft Jet Expression Service ทํางานในโหมด Sandbox ซึ่งจะป้องกันการประเมินนิพจน์ที่อาจไม่ปลอดภัย สําหรับข้อมูลเพิ่มเติมเกี่ยวกับโหมด Sandbox ให้ค้นหา "โหมด Sandbox" ในวิธีใช้

เรียกใช้โปรแกรมปฏิบัติการและส่งกลับ ตัวแปร (สองชั้น) ที่แสดง ID งานของโปรแกรมถ้าสําเร็จ ไม่เช่นนั้นจะส่งกลับค่าศูนย์

ไวยากรณ์

Shell(pathname [, windowstyle ] )

ไวยากรณ์ของฟังก์ชัน Shell มีอาร์กิวเมนต์ดังนี้

อาร์กิวเมนต์ คำอธิบาย
pathname จำเป็น ตัวแปร (สตริง) ชื่อของโปรแกรมที่จะดําเนินการและอาร์กิวเมนต์ที่จําเป็นหรือสวิตช์บรรทัดคําสั่ง อาจรวมถึงไดเรกทอรีหรือโฟลเดอร์และไดรฟ์ บน Macintosh คุณสามารถใช้ฟังก์ชัน MacID เพื่อระบุลายเซ็นของแอปพลิเคชันแทนชื่อได้ ตัวอย่างต่อไปนี้ใช้ลายเซ็นสําหรับ Microsoft Word:Shell MacID("MSWD")
windowstyle ไม่จำเป็น ตัวแปร (จํานวนเต็ม) ที่สอดคล้องกับสไตล์ของหน้าต่างที่จะรันโปรแกรม ถ้าไม่ใส่ค่า windowstyle โปรแกรมจะถูกเริ่มย่อให้เล็กสุดโดยโฟกัส บน Macintosh (ระบบ 7.0 หรือใหม่กว่า) windowstyle จะกําหนดว่าแอปพลิเคชันจะได้รับโฟกัสเมื่อเรียกใช้หรือไม่เท่านั้น

    

อาร์กิวเมนต์ที่มีชื่อ windowstyle มีค่าเหล่านี้:

คง ค่า คำอธิบาย
vbHide 0 หน้าต่างจะถูกซ่อนและโฟกัสจะถูกส่งผ่านไปยังหน้าต่างที่ซ่อนอยู่ ค่าคงที่ vbHide ไม่สามารถใช้ได้กับแพลตฟอร์ม Macintosh
vbNormalFocus 1 หน้าต่างมีโฟกัสและคืนค่าเป็นขนาดและตําแหน่งเดิม
vbMinimizedFocus 2 หน้าต่างจะแสดงเป็นไอคอนที่มีโฟกัส
vbMaximizedFocus 3 หน้าต่างถูกขยายใหญ่สุดด้วยโฟกัส
vbNormalNoFocus 4 หน้าต่างจะคืนค่าเป็นขนาดและตําแหน่งล่าสุด หน้าต่างที่ใช้งานอยู่ในปัจจุบันยังคงทํางานอยู่
vbMinimizedNoFocus 6 หน้าต่างจะแสดงเป็นไอคอน หน้าต่างที่ใช้งานอยู่ในปัจจุบันยังคงทํางานอยู่

    

ข้อสังเกต

ถ้าฟังก์ชัน Shell ดําเนินการไฟล์ที่มีชื่อสําเร็จ จะส่งกลับ ID งานของโปรแกรมที่เริ่มต้น ID งานเป็นหมายเลขที่ไม่ซ้ํากันที่ระบุโปรแกรมที่กําลังทํางานอยู่ ถ้าฟังก์ชัน Shell ไม่สามารถเริ่มโปรแกรมที่มีชื่อได้ จะเกิดข้อผิดพลาดขึ้น

บน Macintosh, vbNormalFocus, vbMinimizedFocus และ vbMaximizedFocus ทั้งหมดจะวางแอปพลิเคชันไว้ด้านหน้า vbHide, vbNoFocus, vbMinimizeFocus ทุกตําแหน่งของแอปพลิเคชันในพื้นหลัง

หมายเหตุ

ตามค่าเริ่มต้น ฟังก์ชัน 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)