I don't understand the problem, you can test and respond for all versions.
*warning air-code*
Dim nVer as long
Dim sFile as string
nVer = Val(Application.Version)
Select Case nVer
Case 10 : sFile = "C:\Program Files\Microsoft Office\Office\MSACCESS.EXE
\\SERVER3\database\customers.MD" ' mdb ?
Case 11 : sFile = "< the 2003 version>"
Case 12: sFile = "< the 2007 cersion>"
End select
If Len(sFile) then
result = Shell(sFile,1)
else
msgbox "File doesn't exist for use in Office 97 or 2000"
End If
Regards,
Peter T
"oldjay" <(E-Mail Removed)> wrote in message
news:4FCDE10E-9883-4E4A-8810-(E-Mail Removed)...
>I guess I don't explain my self very well. If you look at the Sub you will
> see that I am trying to open an access database, I first must know what
> Version of Office the user has. Then I must open that version and then
> open
> the customer database on a server. My problem is I can test for 2 versions
> of
> Office but not 3
>
> "Peter T" wrote:
>
>> Public gXLver As Long
>>
>> Sub test()
>> gXLver = Val(Application.Version) ' in startup routine
>>
>> If gXLver >= 10 Then
>> ' XL 2002, 2003, 2007
>> ' (2010 will be 14)
>> Else
>> ' XL 97 Or 2000
>> End If
>>
>> End Sub
>>
>> Depending on what you are doing you can't necessarily put XL2002+ methods
>> in
>> the same routine or even module. Even if the code doesn't get called in
>> the
>> earlier version a compile error can occur if the object or arguments in a
>> built in function are nor recognized.
>>
>> Regards,
>> Peter T
>>
>>
>> "oldjay" <(E-Mail Removed)> wrote in message
>> news:7702FF4B-60D7-4DE8-878D-(E-Mail Removed)...
>> > This spreadsheet is used by different people using different versions
>> > of
>> > Office. The purpose is to detect which version they are using and open
>> > the
>> > proper Access database. It works for 2 version of Office but not 3.
>> > I am wondering if you can have an On Error Goto ehandler3 under another
>> > On
>> > Error Goto ehandler2??
>> >
>> > "Mike H" wrote:
>> >
>> >> Hi,
>> >>
>> >> I don't understand whay you mean by 'Same result'
>> >>
>> >> try it in an empty sub with no other code
>> >>
>> >> Sub version()
>> >> MsgBox Application.version
>> >> End Sub
>> >>
>> >> Mike
>> >>
>> >> "oldjay" wrote:
>> >>
>> >> > I inserted "ThisVersion = Application.Version" as the first line of
>> >> > the
>> >> > Sub.
>> >> >
>> >> > Same result
>> >> >
>> >> > "Mike H" wrote:
>> >> >
>> >> > > Hi,
>> >> > >
>> >> > > Try this
>> >> > >
>> >> > > ThisVersion = Application.Version
>> >> > >
>> >> > > Mike
>> >> > >
>> >> > > "oldjay" wrote:
>> >> > >
>> >> > > > I am trying to test for various versions of office.
>> >> > > > The following doesn't work.
>> >> > > > Need help
>> >> > > >
>> >> > > >
>> >> > > > Private Sub CommandButton39_Click() 'Add new customer
>> >> > > > Dim X As String
>> >> > > > Dim Y As String
>> >> > > > Dim Z As String
>> >> > > >
>> >> > > > On Error GoTo ehandler3
>> >> > > >
>> >> > > > X = Shell("C:\Program Files\Microsoft
>> >> > > > Office\Office\MSACCESS.EXE
>> >> > > > \\SERVER3\database\customers.MDB", 1)
>> >> > > > Exit Sub
>> >> > > >
>> >> > > > ehandler3:
>> >> > > > On Error GoTo ehandler4
>> >> > > >
>> >> > > > Y = Shell("C:\Program Files\Microsoft
>> >> > > > Office\Office11\MSACCESS.EXE
>> >> > > > \\SERVER3\database\customers.MDB", 1)
>> >> > > > Exit Sub
>> >> > > >
>> >> > > > ehandler4:
>> >> > > >
>> >> > > > Z = Shell("C:\Program Files\Microsoft
>> >> > > > Office\Office12\MSACCESS.EXE
>> >> > > > \\SERVER3\database\customers.MDB", 1)
>> >> > > >
>> >> > > > End Sub
>>
>>
>>
|