vb2clr
1.0.0
A classe auxiliar CLRHost
para Visual Basic for Applications (VBA) 7.0, fornecendo acesso a assemblies e classes CLR (.NET Framework).
Para usar o .NET (anteriormente .NET Core), considere usar o vb2net.
Visual Basic for Application 7.0 (incluído no Microsoft Office 2010 ou superior)
LongPtr
como Long
e remova todos os especificadores PtrSafe
. CLRHost
CLRHost
ou chamar o método Terminate
quando terminar de usar o CLR.True
para o parâmetro TerminateOnExit
de CLRHost.Initialize
, não deverá parar o depurador ao interromper ou pausar o aplicativo.ExitHandler
não pode ser executado quando interrompido durante a pausa e o aplicativo (incluindo host VBA como Excel) pode causar travamento..utf8.*
, remova os comentários em japonês e importe-os. 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
jato (@jet2jet)
Nova licença BSD (ou licença BSD de 3 cláusulas)