VBA Debug.Print เข้าสู่ระบบที่ไหน?


คำตอบ:


354

คุณต้องการเห็นผลลัพธ์ที่ใด

เป็นเอาท์พุทข้อความผ่านทางDebug.Printจะปรากฏในหน้าต่างทันทีซึ่งคุณสามารถเปิดได้โดยการกด+CtrlG

นอกจากนี้คุณยังสามารถเปิดใช้งานหน้าต่างที่เรียกว่าทันทีโดยคลิกที่ดู -> หน้าต่างทันทีบนแถบเครื่องมือ VBE

ป้อนคำอธิบายรูปภาพที่นี่


6
สิ่งนี้เป็นจริงถ้าคุณอยู่ในแอปพลิเคชัน office ที่สนับสนุน VBA แต่ถ้าคุณใช้ผ่าน WSH คุณอาจต้องใช้ MsgBox ( ตัวสั่น ) หรือเทคนิคบางอย่างที่คล้ายกันเนื่องจากไม่มีหน้าต่างในทันที
AJ

85

Debug.Print ส่งออกไปยังหน้าต่าง "ทันที"

Debug.Print พิมพ์ผลลัพธ์ไปที่หน้าต่าง Immediate

นอกจากนี้คุณยังสามารถพิมพ์?คำสั่งลงในหน้าต่างโดยตรงได้ทันที (จากนั้นกด Enter) และให้ผลลัพธ์ปรากฏขึ้นด้านล่างดังนี้:

เพียงพิมพ์?  จากนั้นคำสั่งโดยตรงในหน้าต่างทันที

มีประโยชน์อย่างมากในการส่งออกคุณสมบัติของวัตถุ ...

? myWidget.name

... เพื่อตั้งค่าคุณสมบัติของวัตถุ ...

myWidget.name = "thingy"

... หรือแม้แต่เรียกใช้ฟังก์ชั่นหรือรหัสในขณะที่อยู่ในโหมดแก้ไขข้อบกพร่อง:

Sheet1.MyFunction()


7
ฮ่า ๆ สิ่งที่ชื่อไม่ได้ใช้งานง่าย "หน้าต่างฉับพลัน" ทำให้ฉันคิดว่าหน้าต่างปัจจุบันอยู่เสมอ หรือหน้าต่างแอพหลัก
j riv

5
เนื่องจากคุณสามารถพิมพ์รหัสและดูผลลัพธ์ "ทันที" คุณสามารถดูสาเหตุที่พวกเขาตั้งชื่อมันว่าแทนที่จะเป็นตรรกะแปลก ๆ ที่ "ทันที" หมายถึง "ปัจจุบัน"
Rick Henderson

3
ใช่ในขณะที่บุคคลที่มีตรรกะแปลก ๆ แต่ทันทีที่มีความรู้สึกสำหรับคำศัพท์ทันทีอาจจะเรียกมันว่า "Debug Console" ทันที แต่เนื่องจาก VBA เป็นภาษาที่ยอดเยี่ยมที่คุณไม่เคยทำผิดพลาดเลยคุณจึงไม่จำเป็นต้องแก้ไขข้อบกพร่องใด ๆ คุณใช้หน้าต่างนี้เพื่อแสดงฟังก์ชั่นการทำงานทันทีที่ยอดเยี่ยมของภาษานี้ทันที
Palo

2
โอ้ความผิดของฉัน: การเรียกหน้าต่างที่ไม่สามารถถือได้เกิน 200 บรรทัดทันที "คอนโซลดีบั๊ก" จะเป็นความผิดพลาดทันที
Palo
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.