สวัสดี กระบวนการที่ฉันกำลังทำตอนนี้คือการสร้างฟังก์ชันใน VBA ดังนี้:
Sub TPS_Test()
Dim classLib As Object
' remember you must type the set... line in its entirity when incrimenting to new version. Something about their compiling
Set classLib = New RoadTrip_v14_1_9.TripDoc
classLib.TPS_Test Excel.ActiveWorkbook, False
End Sub
และเพิ่มไลบรารี C# จาก VBA - เครื่องมือ - การอ้างอิง (คอมไพล์ไลบรารีเป็นไลบรารีประเภทก่อน)
มันใช้งานได้ดี และฉันสามารถแนบไลบรารีเข้ากับกระบวนการ Excel.exe และแก้ไขข้อบกพร่องด้วยวิธีนั้นได้
อย่างไรก็ตาม มันเป็น PITA ที่บ่นเพราะทุกครั้งที่ฉันทำการเปลี่ยนแปลงโค้ด ฉันต้องคอมไพล์ใหม่ นำเข้าสู่ VBA ใหม่ และเรียกใช้อีกครั้ง ดังนั้นกระบวนการของฉันคือ:
- เพิ่มชื่อของโครงการ (Myproject_V1)
- รวบรวม
- ลบการอ้างอิงถึงไลบรารีเก่าใน VBA
- เพิ่มการอ้างอิงไปยังห้องสมุดใหม่
- เปลี่ยนชื่อคลาสใน VBA (set classLib = new Myproject_v1)
- แนบไลบรารี C# เข้ากับกระบวนการ Excel
- รันโมดูล VBA อีกครั้ง
ค่อนข้างละเอียดถี่ถ้วนและใช้เวลานาน
มีวิธีที่ดีกว่า?