Trim, Len, Left causing problem

K

krisrajz

I wrote a VBA module in which I used Trim, Len, and Left functions. When I copy the WorkBook that contains the module to different systems running different OS (Win 95/98/NT/2k) cause problem at lines containing Trim, Len and Left. I checked up Reference List it was valid. What is the fix?

Advance thanx
RAJ
 
K

krisrajz

Patrick Molloy said:
Have you got the same version of Excel Installed on these other machines?

--
Patrick Molloy
Microsoft Excel MVP
---------------------------------
I Feel Great!
---------------------------------



Yeah.
 
D

Dave Peterson

I'd take a closer look at Tools|References (make sure your project is active in
the VBE, too).

Look for MISSING in that dialog.

If (when) you find it, you'll have to decide if you need it.

If you do, you may want to go back to the developer pc and convert your code to
use late binding instead of using the references.

Dick Kusleika has a web page at:
http://www.dicks-clicks.com/excel/olBinding.htm
that explains this difference when using Outlook

It's very nice to use early binding when developing. You get all the
intellisense help (when you set the reference and declare the variables
nicely). But before you distribute it to users (who may be using different
versions), it's usually a good idea to use latebinding (and change those object
variable declarations to the generic "As Object".)
 
T

Tom Ogilvy

Here are some more extensive references on binding:

Use late binding - don't have a reference to excel.

http://support.microsoft.com/default.aspx?scid=kb;EN-US;244167
INFO: Writing Automation Clients for Multiple Office Versions

http://support.microsoft.com/default.aspx?scid=kb;en-us;245115
INFO: Using Early Binding and Late Binding in Automation

http://support.microsoft.com/default.aspx?scid=kb;en-us;247579
INFO: Use DISPID Binding to Automate Office Applications Whenever Possible

However, if the problem is caused by going from a newer version of Excel to
an older version, the solution might be to do the development on the oldest
version.


--
Regards,
Tom Ogilvy



Dave Peterson said:
I'd take a closer look at Tools|References (make sure your project is active in
the VBE, too).

Look for MISSING in that dialog.

If (when) you find it, you'll have to decide if you need it.

If you do, you may want to go back to the developer pc and convert your code to
use late binding instead of using the references.

Dick Kusleika has a web page at:
http://www.dicks-clicks.com/excel/olBinding.htm
that explains this difference when using Outlook

It's very nice to use early binding when developing. You get all the
intellisense help (when you set the reference and declare the variables
nicely). But before you distribute it to users (who may be using different
versions), it's usually a good idea to use latebinding (and change those object
variable declarations to the generic "As Object".)
I copy the WorkBook that contains the module to different systems running
different OS (Win 95/98/NT/2k) cause problem at lines containing Trim, Len
and Left. I checked up Reference List it was valid. What is the fix?
 
D

DennisE

Kris,

I ran into the same problem myself. None of the requisite References were
Missing
and I eventually solved the problem by prefixing the Trim, Len, Left (and for
good measure Right and Mid) functions with the four characters "VBA." E.g., x
= VBA.Left(y,3), etc. To shorten the keystrokes as I develop programs, I
actually code this example as x = Lft(y,3) and then in a code module have:

Function Lft(StringVar As Variant, NCharacters As Long) As String
Lft = VBA.Left(StringVar, NCharacters)
End Function

-- Dennis Eisen
 
Top