Unicode character function in VBA & mscorlib.dll



Hi all,

I am trying to check for certain unicode properties of characters
(such as uppercase, lowercase, alphanumeric, punctuation, symbol
The .NET framework has a nice little dll that supposedly offers a
number of functions that do exactly that, mscorlib.dll. The
documentation is here:

So, I am "simply" trying to reference the appropriate functions using
a "Declare" statement such as:
Declare PtrSafe Function IsWhiteSpace Lib "mscorlib" (ByVal char As
Integer) As Boolean

If I run a test routine, like:
Sub test()
If IsWhiteSpace(AscW(Selection.Text)) Then
MsgBox "Is whitespace"
MsgBox "Is not whitespace"
End If
End Sub

I get a runtime error: #53 - File not found; mscorlib.dll

If I try to change the declare method to include the filepath to
Declare PtrSafe Function IsWhiteSpace Lib "C:\Windows\Microsoft.NET
\Framework64\v4.0.30319\mscorlib.dll" (ByVal char As Integer) As

I get a runtime error: #453 - Cannot find DLL entry point IsWhiteSpace
in C\....\mscorlib.dll

If I simply add a reference to mscorlib.dll via "Tools->References", I
get a compile error that the function IsWhiteSpace is not defined.

Can anyone tell me what I'm doing wrong? I know User32.dll offers the
functions "CharrUpper, CharLower and CharAlphaNumurecic, but not the
others that I need for punctuation, whitespace and symbols.

Thanks in advance!


Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question