vb2clr
1.0.0
คลาสตัวช่วย CLRHost
สำหรับ Visual Basic for Applications (VBA) 7.0 ให้การเข้าถึงแอสเซมบลีและคลาส CLR (.NET Framework)
หากต้องการใช้ .NET (เดิมคือ .NET Core) ให้ลองใช้ vb2net
Visual Basic สำหรับ Application 7.0 (รวมอยู่ใน Microsoft Office 2010 หรือสูงกว่า)
LongPtr
ใหม่เป็น Long
และลบตัวระบุ PtrSafe
ทั้งหมด CLRHost
CLRHost
หรือเรียกใช้เมธอด Terminate
เมื่อคุณใช้ CLR เสร็จแล้วTrue
ไปยัง TerminateOnExit
ของ CLRHost.Initialize
คุณต้องไม่หยุดการดีบักเกอร์เมื่อหยุดหรือหยุดแอปพลิเคชันชั่วคราวExitHandler
เมื่อหยุดระหว่างการหยุดชั่วคราว และแอปพลิเคชัน (รวมถึงโฮสต์ VBA เช่น Excel) อาจทำให้เกิดปัญหา.utf8.*
ลบความคิดเห็นภาษาญี่ปุ่น และนำเข้า Public Sub RegexSample()
Dim host As New CLRHost
Call host.Initialize(False)
On Error Resume Next
Dim asmSys As mscorlib.Assembly
Set asmSys = host.CLRLoadAssembly("System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")
Dim cobjRegex As mscorlib.Object
Set cobjRegex = host.CLRCreateObjectWithParams("System.Text.RegularExpressions.Regex", _
"([0-9])+")
Dim cobjColl As mscorlib.Object
Set cobjColl = host.CLRInvokeMethod(cobjRegex, "Matches", "10 20 50 1234 98765")
Dim vMatch As Variant
For Each vMatch In host.ToEnumerable(cobjColl)
Dim cobjMatch As mscorlib.Object
Set cobjMatch = vMatch
Debug.Print "Matches: "; host.CLRProperty(cobjMatch, "Value")
Set cobjMatch = Nothing
Next vMatch
vMatch = Empty
Set cobjColl = Nothing
Set cobjRegex = Nothing
'Call host.Terminate
Set host = Nothing
End Sub
เจ็ต (@jet2jet)
ใบอนุญาต BSD ใหม่ (หรือใบอนุญาต BSD 3 ข้อ)