เอกสาร

4 วิธีในการปกป้องโค้ด VBA (Visual Basic for Applications)

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

เหตุใดคุณจึงควรใส่ใจเกี่ยวกับการปกป้องโค้ด VBA?

VBA เป็นภาษาแมโครที่ใช้สร้างงานหรือการกระทำอัตโนมัติใน Excel, Word, PowerPoint มีเหตุผลหลายประการที่คุณควรปกป้องโค้ด VBA ของคุณ:

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

สิ่งสำคัญที่ต้องทราบคือมีหลายวิธีในการปกป้องโค้ด VBA ของคุณ แต่ไม่ใช่ทุกวิธีที่จะปกป้องโค้ดของคุณด้วยวิธีเดียวกัน ขึ้นอยู่กับคุณและสิ่งที่คุณคิดว่าดีที่สุดสำหรับความต้องการของคุณ

#1 การป้องกันรหัส VBA ด้วยรหัสผ่านภายใน Excel โดยใช้เครื่องมือ VBAProject

ส่วนนี้จะอธิบายวิธีการใช้การตั้งค่าการป้องกันโครงการ VBA เพื่อปกป้องโค้ด VBA ของคุณจากการสอดส่องและการรบกวนในระดับหนึ่ง

  • ระดับความปลอดภัย : อ่อนแอ มีเครื่องมือ เช่น โปรแกรมลบรหัสผ่าน VBA ซึ่งสามารถใช้ปลดล็อครหัสผ่านได้ภายในไม่กี่นาที
  • ระดับความยาก: ง่าย;
  • ค่าใช้จ่าย: ฟรี;

ขั้นตอนที่ 1. เลือก “Visual Basic” จากเมนู “นักพัฒนา” ใน Excel

เปิดแผง Visual Basic จากแท็บนักพัฒนา Excel

ขั้นตอนที่ 2. หากต้องการล็อคโครงการ VBA ของคุณ ให้คลิก “เครื่องมือ” ในแถบ จากนั้นเลือก “คุณสมบัติ VBAProject”

เลือกคุณสมบัติ VBAProject เพื่อตั้งรหัสผ่าน

หลังจากคลิกที่รายการเมนูนี้คุณควรเห็นกล่องโต้ตอบต่อไปนี้:

อินเทอร์เฟซหลักของคุณสมบัติของ VBAProject

ตามค่าเริ่มต้นจะเลือกแท็บ “ทั่วไป” แต่ให้คลิกที่แท็บ “การป้องกัน”

ขั้นตอนที่ 3. ทำเครื่องหมายที่ “ล็อคโครงการเพื่อดู” จากนั้นพิมพ์รหัสผ่านของคุณสองครั้งในช่องทั้งสองนี้ แล้วคลิก “ตกลง”

ล็อคโครงการ VBA เพื่อดูและตั้งรหัสผ่านเพื่อป้องกันโค้ด VBA

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

รหัสผ่านที่จำเป็นสำหรับการดูโค้ด VBA

#2 ใช้ VBA Obfuscation เพื่อปกป้องโค้ดแมโครของคุณ

การบดบัง VBA คือศิลปะในการทำให้โค้ด VBA ของคุณอ่านไม่ออกแต่ยังคงใช้งานได้ โดยจะแก้ไขแมโครที่มีอยู่ของคุณด้วยระดับการบดบังหลายระดับ ซึ่งทำให้ยากต่อการเข้าใจตรรกะพื้นฐาน ผู้บดบัง VBA ขั้นสูงใช้เทคนิคบดบังขั้นสูงจำนวนหนึ่ง ทำให้การติดตามย้อนกลับและการกู้คืนมีความท้าทายมากขึ้นอย่างมาก

  • ระดับความปลอดภัย: ปานกลาง; ยังคงมีคนสามารถใช้เวลาและทรัพยากรเพียงพอในการกู้คืนรหัสได้
  • ระดับความยาก: ปานกลาง ขึ้นอยู่กับระดับ;
  • ค่าใช้จ่าย: โปรแกรม VBA Obfuscator ฟรี /พรีเมี่ยม;

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

#3 แปลงโค้ด VBA เป็นไลบรารีลิงก์แบบไดนามิก (DLL)

คอมไพเลอร์ เช่น Visual C++ และ Visual Basic สร้างแอปพลิเคชันที่ถอดรหัสได้ยาก เนื่องมาจากโค้ดถูกคอมไพล์เป็นไฟล์ปฏิบัติการหรือไฟล์ไลบรารีลิงก์แบบไดนามิก ดังนั้นเราจึงสามารถคอมไพล์โค้ด VBA เป็นไฟล์ไลบรารีลิงก์แบบไดนามิกแล้วนำไปใช้ใน Excel ได้

  • ระดับความปลอดภัย : สูง;
  • ระดับความยาก: ปานกลาง;
  • ค่าใช้จ่าย: ฟรี;

ขอแนะนำวิธีการป้องกันนี้เป็นอย่างยิ่ง แต่ก็ไม่ได้รับประกันว่าจะได้ผล 100% หากต้องการเรียนรู้วิธีการคอมไพล์ โปรดดูคำแนะนำที่ VbaCompiler.com: 10 ขั้นตอนในการคอมไพล์โค้ด VBA เป็น DLL ดั้งเดิมของ Windows -

การคอมไพล์โค้ด VBA ของไฟล์ Excel เสร็จสมบูรณ์ด้วย VbaCompiler สำหรับ Excel

#4 แปลง VBA เป็น C หรือ C++

การแปลแมโครของคุณเป็น C หรือ C++ เป็นการย้อนวิศวกรรมที่ยากกว่า VBA หากคุณต้องการปกป้องโค้ดของคุณ นี่คือวิธีที่ดีที่สุด

  • ระดับความปลอดภัย: สูงสุด แทบจะเป็นไปไม่ได้เลยที่จะได้รหัสโดยไม่มีสิทธิ์ แต่ก็ไม่ได้รับประกัน 100% เช่นกัน
  • ระดับความยาก: ซับซ้อนและใช้เวลานาน เนื่องจาก VBA และ C/C++ เป็นภาษาที่แตกต่างกันมาก จึงทำให้ยากกว่าเนื่องจากคุณจะต้องใช้ความพยายามมาก

บทสรุป

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

ภาพถ่ายของซูซานน่า

ซูซานน่า

ซูซานน่าเป็นผู้จัดการเนื้อหาและนักเขียนของ Filelem เธอเป็นบรรณาธิการและนักออกแบบเค้าโครงหนังสือที่มีประสบการณ์มาหลายปี และสนใจที่จะลองและทดสอบซอฟต์แวร์เพิ่มประสิทธิภาพการทำงานต่างๆ นอกจากนี้ เธอยังเป็นแฟนตัวยงของ Kindle ซึ่งใช้ Kindle Touch มาเกือบ 7 ปีแล้วและพก Kindle ไปทุกที่ เมื่อไม่นานมานี้ อุปกรณ์ดังกล่าวใกล้จะหมดอายุการใช้งานแล้ว ซูซานน่าจึงซื้อ Kindle Oasis มาอย่างมีความสุข

บทความที่เกี่ยวข้อง

ปุ่มกลับสู่ด้านบน