หมายเหตุ: ฟังก์ชัน วิธีการ วัตถุ หรือคุณสมบัติที่อธิบายไว้ในหัวข้อนี้จะถูกปิดใช้งานถ้า Microsoft Jet Expression Service เรียกใช้ในโหมด Sandbox ซึ่งป้องกันการประเมินนิพจน์ที่อาจไม่ปลอดภัย ดูข้อมูลเพิ่มเติมเกี่ยวกับโหมด Sandbox ค้นหา "โหมด Sandbox" ในวิธีใช้
ใช้กับสั่ง Print # หรือ วิธีการพิมพ์ เพื่อจัดตําแหน่งผลลัพธ์
ไวยากรณ์
Spc ( n )
จํานวนที่ nอาร์กิวเมนต์ คือจํานวนช่องว่างที่จะแทรกก่อนที่จะแสดงหรือ นิพจน์ ถัดไปในรายการ
ข้อสังเกต
ถ้า n น้อยกว่าความกว้างของบรรทัดผลลัพธ์ ตําแหน่งการพิมพ์ถัดไปจะตามจํานวนช่องว่างที่พิมพ์ทันที ถ้า n มากกว่าความกว้างของบรรทัดผลลัพธ์ Spc จะคํานวณตําแหน่งการพิมพ์ถัดไปโดยใช้สูตร:
currentprintposition +(n Mod width)
ตัวอย่างเช่น ถ้าตําแหน่งการพิมพ์ปัจจุบันคือ 24 ความกว้างของเส้นผลลัพธ์คือ 80 และระบุSpc(90) การพิมพ์ครั้งถัดไปจะเริ่มต้นที่ตําแหน่ง 34 (ตําแหน่งการพิมพ์ปัจจุบัน + เศษเหลือของ 90/80) ถ้าความแตกต่างระหว่างตําแหน่งการพิมพ์ปัจจุบันและความกว้างของเส้นผลลัพธ์มีค่าน้อยกว่าn (หรือความกว้างn Mod)ฟังก์ชันSpcจะข้ามไปยังจุดเริ่มต้นของบรรทัดถัดไป และสร้างช่องว่างเท่ากับn- ( ความกว้าง–ตําแหน่งปัจจุบัน )
หมายเหตุ: ตรวจสอบให้แน่ใจว่าคอลัมน์แบบตารางของคุณกว้างพอที่จะรองรับตัวอักษรที่กว้าง
เมื่อคุณใช้วิธีการพิมพ์ที่มีฟอนต์ที่มีระยะห่างตามสัดส่วน ความกว้างของอักขระช่องว่างที่พิมพ์โดยใช้ฟังก์ชันSpcจะเป็นค่าเฉลี่ยของความกว้างของอักขระทั้งหมดในขนาดจุดของฟอนต์ที่เลือกเสมอ อย่างไรก็ตาม ไม่มีสหสัมพันธ์ระหว่างจํานวนอักขระที่พิมพ์และจํานวนคอลัมน์ที่มีความกว้างคงที่ซึ่งอักขระเหล่านั้นใช้อยู่ ตัวอย่างเช่น ตัวอักษรพิมพ์ใหญ่ W มีคอลัมน์ที่มีความกว้างคงที่มากกว่าหนึ่งคอลัมน์ และตัวอักษรพิมพ์เล็กที่ฉันมีคอลัมน์ที่มีความกว้างคงที่น้อยกว่าหนึ่งคอลัมน์
ตัวอย่าง
หมายเหตุ: ตัวอย่างที่ตามมาจะสาธิตการใช้ฟังก์ชันนี้ในโมดูล Visual Basic for Applications (VBA) For more information about working with VBA, select Developer Reference in the drop-down list next to Search and enter one or more terms in the search box.
ตัวอย่างนี้ใช้ฟังก์ชันSpcเพื่อจัดตําแหน่งผลลัพธ์ในไฟล์และในหน้าต่างImmediate
' The Spc function can be used with
' the Print # statement.
Open "TESTFILE" For Output As #1 ' Open file for output.
Print #1, "10 spaces between here"; Spc(10); "and here."
Close #1 ' Close file.
ข้อความต่อไปนี้จะเป็นสาเหตุให้ข้อความถูกพิมพ์ในหน้าต่าง Immediate(โดยใช้วิธีการ พิมพ์) ที่มีช่องว่าง 30 ช่องหน้า
Debug.Print Spc(30); "Thirty spaces later..."