vb2clr
1.0.0
Вспомогательный класс CLRHost
для Visual Basic для приложений (VBA) 7.0, обеспечивающий доступ к сборкам и классам CLR (.NET Framework).
Чтобы использовать .NET (ранее .NET Core), рассмотрите возможность использования vb2net.
Visual Basic для приложений 7.0 (входит в состав Microsoft Office 2010 или более поздней версии)
LongPtr
на Long
и удалите все спецификаторы PtrSafe
. CLRHost
CLRHost
или вызвать метод Terminate
.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 пунктов)