ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Application Name differences between Excel 2003 and 2007 (https://www.excelbanter.com/excel-programming/432586-application-name-differences-between-excel-2003-2007-a.html)

stevem

Application Name differences between Excel 2003 and 2007
 
My application exchanges info between Excel and a non-Office application. It
works fine in Excel 2003 because the ActiveWorkbook.Name it assigns to
ThisApp works when you get to AppActivate.

ThisApp = ActiveWorkbook.Name
.... 'programming sends commands to other app
AppActivate ThisApp 'come back to Excel
.... 'programming in Excel

However the ActiveWorkbook.Name assigned to ThisApp by Excel 2007 does not
work when you get to AppActivate. You get an 'object not found' error. It
does work if the first line is changed to read

ThisApp = ActiveWorkbook.Name & " [Compatibility Mode]"

How can I program to distinguish between the two Excel versions and format
ThisApp to correctly deliver the Excel workbook name to the AppActivate
command? Are there any other modes which I might have to contend with
(append to the Excel 2007 name to make it work)?


stanleydgromjr[_29_]

Application Name differences between Excel 2003 and 2007
 

SteveM,

The following code can be modified to suit your needs.


Code:
--------------------


Sub ReturnExcelVersion()
If Application.Version = "12.0" Then
MsgBox "You are using Excel 2007."
ElseIf Application.Version = "11.0" Then
MsgBox "You are using Excel 2003."
ElseIf Application.Version = "10.0" Then
MsgBox "You are using Excel 2002."
ElseIf Application.Version = "9.0" Then
MsgBox "You are using Excel 2000."
ElseIf Application.Version = "8.0" Then
MsgBox "You are using Excel 97."
ElseIf Application.Version = "7.0" Then
MsgBox "You are using Excel 95."
End If
End Sub


--------------------



Have a great day,
Stan


--
stanleydgromjr
------------------------------------------------------------------------
stanleydgromjr's Profile: http://www.thecodecage.com/forumz/member.php?userid=503
View this thread: http://www.thecodecage.com/forumz/sh...d.php?t=126586


Dave Peterson

Application Name differences between Excel 2003 and 2007
 
I bet that there are people running versions of excel that include a letter
suffix (xl2002 and prior).

I'd use something like:
if val(application.version) = 12 then

And to save typing

select case val(application.version)
case is = 12 : msgbox "you are using xl2007"
case is = 11 : msgbox "you are using xl2003"
...
end select

Val() makes it a numeric test, too.



stanleydgromjr wrote:

SteveM,

The following code can be modified to suit your needs.

Code:
--------------------


Sub ReturnExcelVersion()
If Application.Version = "12.0" Then
MsgBox "You are using Excel 2007."
ElseIf Application.Version = "11.0" Then
MsgBox "You are using Excel 2003."
ElseIf Application.Version = "10.0" Then
MsgBox "You are using Excel 2002."
ElseIf Application.Version = "9.0" Then
MsgBox "You are using Excel 2000."
ElseIf Application.Version = "8.0" Then
MsgBox "You are using Excel 97."
ElseIf Application.Version = "7.0" Then
MsgBox "You are using Excel 95."
End If
End Sub


--------------------

Have a great day,
Stan

--
stanleydgromjr
------------------------------------------------------------------------
stanleydgromjr's Profile: http://www.thecodecage.com/forumz/member.php?userid=503
View this thread: http://www.thecodecage.com/forumz/sh...d.php?t=126586


--

Dave Peterson

stevem

Application Name differences between Excel 2003 and 2007
 
So Stanley and Dave,

Now I can distinguish between Excel 2003 and 2007. Will 2007 always<
require [Compatibility Mode] to be appended to the application.name to work
with AppActivate? Are there any other modes that might be required instead
(or even none at all), and if so, how do I determine them? I want to
account for all possible choices with programming to avoid errors.

"Dave Peterson" wrote:

I bet that there are people running versions of excel that include a letter
suffix (xl2002 and prior).

I'd use something like:
if val(application.version) = 12 then

And to save typing

select case val(application.version)
case is = 12 : msgbox "you are using xl2007"
case is = 11 : msgbox "you are using xl2003"
...
end select

Val() makes it a numeric test, too.



stanleydgromjr wrote:

SteveM,

The following code can be modified to suit your needs.

Code:
--------------------


Sub ReturnExcelVersion()
If Application.Version = "12.0" Then
MsgBox "You are using Excel 2007."
ElseIf Application.Version = "11.0" Then
MsgBox "You are using Excel 2003."
ElseIf Application.Version = "10.0" Then
MsgBox "You are using Excel 2002."
ElseIf Application.Version = "9.0" Then
MsgBox "You are using Excel 2000."
ElseIf Application.Version = "8.0" Then
MsgBox "You are using Excel 97."
ElseIf Application.Version = "7.0" Then
MsgBox "You are using Excel 95."
End If
End Sub


--------------------

Have a great day,
Stan

--
stanleydgromjr
------------------------------------------------------------------------
stanleydgromjr's Profile: http://www.thecodecage.com/forumz/member.php?userid=503
View this thread: http://www.thecodecage.com/forumz/sh...d.php?t=126586


--

Dave Peterson


Dave Peterson

Application Name differences between Excel 2003 and 2007
 
A few tests should let you know, right?

SteveM wrote:

So Stanley and Dave,

Now I can distinguish between Excel 2003 and 2007. Will 2007 always<
require [Compatibility Mode] to be appended to the application.name to work
with AppActivate? Are there any other modes that might be required instead
(or even none at all), and if so, how do I determine them? I want to
account for all possible choices with programming to avoid errors.

"Dave Peterson" wrote:

I bet that there are people running versions of excel that include a letter
suffix (xl2002 and prior).

I'd use something like:
if val(application.version) = 12 then

And to save typing

select case val(application.version)
case is = 12 : msgbox "you are using xl2007"
case is = 11 : msgbox "you are using xl2003"
...
end select

Val() makes it a numeric test, too.



stanleydgromjr wrote:

SteveM,

The following code can be modified to suit your needs.

Code:
--------------------


Sub ReturnExcelVersion()
If Application.Version = "12.0" Then
MsgBox "You are using Excel 2007."
ElseIf Application.Version = "11.0" Then
MsgBox "You are using Excel 2003."
ElseIf Application.Version = "10.0" Then
MsgBox "You are using Excel 2002."
ElseIf Application.Version = "9.0" Then
MsgBox "You are using Excel 2000."
ElseIf Application.Version = "8.0" Then
MsgBox "You are using Excel 97."
ElseIf Application.Version = "7.0" Then
MsgBox "You are using Excel 95."
End If
End Sub


--------------------

Have a great day,
Stan

--
stanleydgromjr
------------------------------------------------------------------------
stanleydgromjr's Profile: http://www.thecodecage.com/forumz/member.php?userid=503
View this thread: http://www.thecodecage.com/forumz/sh...d.php?t=126586


--

Dave Peterson


--

Dave Peterson


All times are GMT +1. The time now is 11:24 AM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com