Visual Basic for Applications:
การใช้งานโปรแกรมดีบักเกอร์

วิธีการ:

ใน VBA, เดบักเกอร์เป็นส่วนหนึ่งของ Visual Basic Editor (VBE) นี่คือวิธีที่คุณสามารถใช้ประโยชน์จากมันได้:

  1. ตั้งจุดหยุด (Breakpoints): คลิกในขอบซ้ายข้างโค้ดที่คุณสนใจ หรือวางเคอร์เซอร์บนบรรทัดนั้นแล้วกด F9 ซึ่งบอกให้ VBA หยุดการทำงานเมื่อมันถึงจุดนี้

    Sub DebugExample()
        Dim counter As Integer
        For counter = 1 To 5
            Debug.Print counter ' ตั้งจุดหยุดที่นี่
        Next counter
    End Sub

    เมื่อโค้ดทำงาน มันจะหยุดที่บรรทัด Debug.Print counter ทำให้คุณสามารถตรวจสอบค่าของตัวแปรได้

  2. เข้าไปทีละขั้น (F8): ด้วยคำสั่งนี้ คุณจะทำการทำงานโค้ดทีละคำสั่ง เข้าไปในขั้นตอนการเรียกใช้งานวิธีการต่างๆ มันมีประโยชน์ในการติดตามว่าโค้ดและฟังก์ชันของคุณทำงานร่วมกันอย่างไร

  3. หน้าต่าง Watch: ใช้หน้าต่าง Watch เพื่อติดตามค่าของตัวแปรหรือนิพจน์ หากตัวแปรไม่อยู่ในขอบเขตที่กำหนด หน้าต่าง Watch จะระบุให้ทราบ คลิกขวาตัวแปร > เพิ่ม Watch

  4. หน้าต่าง Immediate (Ctrl+G): หน้าต่างนี้มีประโยชน์อย่างมากสำหรับการทดสอบนิพจน์หรือการเปลี่ยนแปลงค่าตัวแปรในระหว่างการดีบัก พิมพ์ ?variableName เพื่อแสดงค่าปัจจุบันของตัวแปร หรือกำหนดค่าใหม่ด้วย variableName = newValue

    ' ในหน้าต่าง Immediate
    ?counter ' พิมพ์ค่าปัจจุบันของ counter
    counter = 3 ' กำหนดค่าของ counter เป็น 3
  5. ตัวอย่างผลลัพธ์:

    เมื่อคุณถึงจุดหยุดและทำการดำเนินการทีละบรรทัดโดยใช้ F8, หน้าต่าง Immediate อาจแสดงผลลัพธ์ดังนี้:

    counter = 1
    counter = 2
    counter = 3

    ที่นี่ เราได้สอบถามตัวแปร counter หลังจากที่มีการทำซ้ำในแต่ละครั้ง

ทำความลึก:

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

อย่างไรก็ตาม เมื่อเปรียบเทียบกับ Integrated Development Environments (IDEs) สมัยใหม่เช่น Visual Studio หรือ Eclipse เครื่องมือการดีบักของ VBA อาจดูเรียบง่าย ไอดีอีเหล่านี้มอบคุณสมบัติที่ซับซ้อนมากขึ้น เช่น การตรวจสอบตัวแปรเรียลไทม์ จุดหยุดขั้นสูง และกรอบการทดสอบหน่วยที่ผสานรวมกัน ในขณะที่ทางเลือกเหล่านี้ให้ประสบการณ์การดีบักที่ครอบคลุมมากขึ้น ความเรียบง่ายและความตรงไปตรงมาของเดบักเกอร์ VBA ยังคงเหมาะกับบริบทเฉพาะของการอัตโนมัติและเขียนสคริปต์ภายในแอปพลิเคชันของ Microsoft Office

สำหรับโปรแกรมเมอร์ที่คุ้นเคยกับสภาพแวดล้อมสมัยใหม่เหล่านี้ การปรับตัวให้เข้ากับเครื่องมือการดีบักของ VBA อาจต้องการการเปลี่ยนแปลงวิธีการ อย่างไรก็ตาม หลักการพื้นฐานของการตรวจสอบตัวแปร การเดินผ่านโค้ด และการสังเกตพฤติกรรมในระยะเวลาทำงานเป็นสิ่งทั่วไปทั้งหมด ด้วยการฝึกฝน เดบักเกอร์ VBA จึงกลายเป็นเครื่องมือที่จำเป็นไม่ได้ขาดสำหรับการรับประกันว่าสคริปต์อัตโนมัตินั้นทำงานได้อย่างไม่มีที่ติภายในระบบนิเวศของ Office