การใช้กลไกสคริปต์ในแอปพลิเคชันสามารถเพิ่มความยืดหยุ่นและความสามารถในการปรับขนาดของโปรแกรมได้อย่างมาก คล้ายกับฟังก์ชันมาโครของ MS Office และ VS.NET ในกรอบงาน Microsoft .NET Microsoft.vsa.dll กำหนดกรอบงานโปรแกรมสคริปต์ ในขณะที่ Microsoft.Visualbase.vsa.dll กำหนดโปรแกรมสคริปต์ที่ใช้ VBA คุณสามารถใช้ DLL สองตัวนี้เพื่อกำหนดกลไกสคริปต์ของคุณเองโดยใช้ VBA.NET
Microsoft.vsa.dll กำหนดอินเทอร์เฟซของเฟรมเวิร์กบางส่วน ซึ่งอินเทอร์เฟซที่สำคัญกว่านั้นรวมอยู่ด้วย
IVsaEngine เป็นอินเทอร์เฟซกลไกสคริปต์ กลไกสคริปต์ทั้งหมดใช้อินเทอร์เฟซนี้
อินเทอร์เฟซการสื่อสารกลไกสคริปต์ IVsaSite กลไกสคริปต์ยอมรับอินเทอร์เฟซนี้เพื่อเผยแพร่ข้อมูลบางอย่าง
IVsaItem เป็นรายการที่เกี่ยวข้องกับทรัพยากรกลไกสคริปต์
IVsaCodeItem คือโมดูลโค้ดสคริปต์
IVsaRefenceItem เป็นอ็อบเจ็กต์อ้างอิงภายนอกที่ใช้โดยเอ็นจิ้นสคริปต์
IVsaGlobalItem เป็นโมดูลอ็อบเจ็กต์ส่วนกลางที่ใช้โดยเอ็นจิ้นสคริปต์
โดยทั่วไปกระบวนการใช้งานจะสร้างอินสแตนซ์ของเอ็นจิ้นสคริปต์ ส่งผ่านอ็อบเจ็กต์ที่ใช้ IVsaSite ไปยังอ็อบเจ็กต์ของเอ็นจิ้นสคริปต์ จากนั้นใช้เมธอด CreateItem ของรายการของเอ็นจิ้นเพื่อเพิ่มการอ้างอิง ข้อความโค้ด และวัตถุโกลบอล จากนั้นเรียกวิธีการคอมไพล์เอ็นจิ้นสคริปต์และใช้ RUN เพื่อสตาร์ทเอ็นจิ้น
หลังจากที่กลไกสคริปต์เริ่มทำงาน ชุดประกอบแอสเซมบลีจะถูกสร้างขึ้นแบบไดนามิกและโหลดในโดเมนแอปพลิเคชันปัจจุบันตามโค้ดสคริปต์ ใช้ IVsaEngine.Assembly เพื่อเข้าถึงแอสเซมบลีที่สร้างขึ้นแบบไดนามิก
Microsoft.VisualBase.vsa.dll ใช้อินเทอร์เฟซเหล่านี้ และใช้กลไกการเขียนสคริปต์ตามไวยากรณ์ VBA.NET
วัตถุหลักคือ VsaEngine
โปรแกรมนี้มีโปรแกรมสาธิตที่เขียนด้วยภาษา C# โดยใช้ Microsoft .NET Framework 1.1 โปรแกรมสาธิตมีโมดูลทั่วไปสำหรับการใช้โปรแกรมสคริปต์นี้ คุณสามารถใช้โปรแกรมสคริปต์ VBA ได้อย่างง่ายดาย เพื่อขยายการใช้งานของตัวเอง
ที่อยู่ดาวน์โหลดโปรแกรมสาธิต:
ที่มา: XDesigner BLOG