vb2clr
1.0.0
La clase auxiliar CLRHost
para Visual Basic para Aplicaciones (VBA) 7.0, que proporciona acceso a ensamblados y clases de CLR (.NET Framework).
Para usar .NET (anteriormente .NET Core), considere usar vb2net.
Visual Basic para la aplicación 7.0 (incluido en Microsoft Office 2010 o superior)
LongPtr
a Long
y elimine todos los especificadores PtrSafe
. CLRHost
CLRHost
o llamar al método Terminate
cuando termine de usar CLR.True
al parámetro TerminateOnExit
de CLRHost.Initialize
, no debe detener el depurador al interrumpir o pausar la aplicación.ExitHandler
no se puede ejecutar cuando se detiene durante la pausa y la aplicación (incluido el host VBA como Excel) puede provocar un bloqueo..utf8.*
, elimine los comentarios en japonés e impórtelos. 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
jet (@jet2jet)
Nueva licencia BSD (o licencia BSD de 3 cláusulas)