ประโยชน์ของหมายเลขบรรทัดในโค้ด VBA



0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้

15 ก.ค. 61 , 16:37:18
อ่าน 667 ครั้ง

สันติสุข

ภาษา VBA นำมาจากภาษา BASIC ซึ่งเป็นภาษาเก่าแก่ สิ่งนึงที่ตกทอดมาถึง VBA ก็คือหมายเลขบรรทัด เราสามารถใส่เลขที่บรรทัด จะเป็นเลขอะไรก็ได้ตั้งแต่ 1 ถึง 65535 และแต่ละบรรทัดจะเป็นเลขอะไรก็ได้ ไม่จำเป็นต้องเรียงลำดับ ไม่จำเป็นต้องมีทุกบรรทัด ขอให้ไม่ซ้ำใน Sub หรือ Function Procedure เดียวกันก็พอ โดยเขียนไว้เป็นส่วนแรกของโค้ดแต่ละบรรทัด ที่ทำๆกันมาเป็นมาตรฐานก็คือเริ่มจาก 10  และเพิ่มทีละ 10 เพื่อให้อ่านง่ายและสะดวกเมื่อมีการแทรกบรรทัดเพิ่ม จะได้ใส่เลขบรรทัดได้โดยไม่ต้องไปแก้หมายเลขของบรรทัดอื่นๆให้เสียเวลาครับ

ตย.ของโค้ดก็เช่น
โค๊ด: [Select]
Private Function NewSalesPrice(Price As Variant, Percent As Variant) As Single
          Dim Factor  As Single

          On Error GoTo ErrHandler

10        Factor = 1 + Percent / 100
20        NewSalesPrice = Price * Factor

ExitRtn:
30        Exit Function
               
ErrHandler:
40        MsgBox "In [NewSalesPrice], Line " & Str(Erl) & ", Error " & Str(Err.Number) & " : " & Err.Description
50        Resume ExitRtn
End Function

เลขบรรทัดทำหน้าที่แบบเดียวกับลาเบล เราสามารถสั่ง Goto <ลาเบล/เลขบรรทัด> หรือ GoSub <ลาเบล/เลขบรรทัด> เพื่อให้โค้ดข้ามไปทำงานที่บรรทัดตามเลขที่นั้นได้ แต่ประโยชน์ที่ชัดเจนที่สุดก็คือ ถ้าเกิด Runtime Error ขึ้นในบรรทัดของโค้ดที่มีเลขที่บรรทัดอยู่ เราสามารถใช้ฟังก์ชั่น Erl เพื่อคืนเลขที่บรรทัดออกมาได้ด้วย ดังนั้นเราจึงใส่ไว้ในส่วนของ Error Handling Routine เพื่อบอกให้ทราบว่าเกิดปัญหาที่บรรทัดอะไร การ Debug หรือแก้ไขปัญหาก็จะทำได้ง่ายขึ้นมาก แต่หากเกิด Error ในบรรทัดที่ไม่ได้ใส่หมายเลขบรรทัดเอาไว้  ฟังก์ชั่น Erl จะคืนค่าของเลขบรรทัดสุดท้ายที่อยู่ก่อนหน้าออกมาให้แทน หรือถ้าไม่มีเลย ก็จะคืนค่าเป็นศูนย์แทนครับ

ตย.ของข้อความ

ช่วยพกถุงผ้า/ถุงพลาสติกใช้แล้วไปซื้อของเพื่อลดการใช้พลาสติก ขยะ รักษาสิ่งแวดล้อม และไม่ให้ภาวะโลกร้อนวิกฤติเร็วขึ้นกว่านี้
ช่วยคลิกโฆษณาข้างล่างนี้ เพื่อสนับสนุนเวปบอร์ดด้วยครับ
:nice day:
 
โพสต์นี้ได้รับคำขอบคุณจาก: thaiaccboard, pirin, TTT, kitisak, มาลี, armdack

16 ก.ค. 61 , 08:07:21
ตอบกลับ #1

มาลี

: ประโยชน์ของหมายเลขบรรทัดในโค้ด VBA
« ตอบกลับ #1 เมื่อ: 16 ก.ค. 61 , 08:07:21 »
ขอเรียนสอบถามเพิ่มเติมค่ะอาจารย์

ระยะห่างจากเลขบรรทัด กับส่วนแรกของโค๊ด ต้องเว้นระยะห่างสักเท่าไหร่คะ และต้องใช้ระยะห่างเท่ากันทั้งหมดด้วยหรือเปล่าคะ

 

16 ก.ค. 61 , 11:15:07
ตอบกลับ #2

สันติสุข

: ประโยชน์ของหมายเลขบรรทัดในโค้ด VBA
« ตอบกลับ #2 เมื่อ: 16 ก.ค. 61 , 11:15:07 »
ไม่มีกำหนดครับ และไม่ต้องห่างเท่าๆกันในแต่ละบรรทัด จะมีก็แต่ถ้าเราเขียนหมายเลขบรรทัด/ลาเบลไว้ที่คอลัมน์อื่นๆ ตัว VBA Editor จะเลื่อนกลับไปคอลัมน์แรก(ชิดขอบซ้าย)ให้เองอัตโนมัติเท่านั้นครับ
ช่วยพกถุงผ้า/ถุงพลาสติกใช้แล้วไปซื้อของเพื่อลดการใช้พลาสติก ขยะ รักษาสิ่งแวดล้อม และไม่ให้ภาวะโลกร้อนวิกฤติเร็วขึ้นกว่านี้
ช่วยคลิกโฆษณาข้างล่างนี้ เพื่อสนับสนุนเวปบอร์ดด้วยครับ
:nice day:
 
โพสต์นี้ได้รับคำขอบคุณจาก: สุรเกตุ แซ่เอี้ย


บอร์ดเรียนรู้ Access สำหรับคนไทย