Why vbscript examples do not work?

J

JoeU2004

The function below works as intended.

However, I get a syntax error when I try to replace "Set re =
CreateObject..." with

Set re = New regexp

and when I try to eschew the Set statement altogether and replace "Dim re"
with

Dim re as New regexp

The syntax error is "user-defined type not define".

Both erroneous forms appear in the examples at
http://msdn.microsoft.com/en-us/library/ms974570.aspx .

Why don't the examples?

I suspect I need to attach a reference (Tools > References). If so, which
reference?

Alternatively, are the examples written for an incompatible revision of
Excel/VB? If so, which one?

I am using Excel 2003 with VB 6.3 as part of Office 2003 and Win XP SP3.

Is the function, as written below, compatible with the VB with Excel 2007?


The function....


Function extractNumber(s As String, n As Integer)
Dim re, nums
extractNumber = ""
Set re = CreateObject("vbscript.regexp")
re.Global = True
re.Pattern = "\d+"
Set nums = re.Execute(s)
If nums.Count >= n Then extractNumber = --nums.Item(n - 1)
End Function
 
A

arjen van...

If using VB Script regular expressions, you need to add a reference as follows:
Tools > References > Microsoft VB Script Regular Expressions
 
J

JoeU2004

arjen van... said:
If using VB Script regular expressions, you need to add a reference as
follows:
Tools > References > Microsoft VB Script Regular Expressions

Klunk! I went looking for exactly that, but overlooked it ... until you
mentioned it. Thanks.

And now I do see this statement on the web page
http://msdn.microsoft.com/en-us/library/ms974570.aspx :

"To run this code, you can [...] copy it to VB (need to add references to
Microsoft VBScript Regular Expressions)". Double klunk!
 

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

Top