![]() |
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)? |
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 |
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 |
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 |
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