ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Thoght I had this Application.Version solved?? (https://www.excelbanter.com/excel-programming/374366-thoght-i-had-application-version-solved.html)

Bill Case

Thoght I had this Application.Version solved??
 
Hi;

My friend has Excel version 9.0 (from Application.Version in a MsgBox). I
have version 10.

I have the following in my startup code:

If Application.Version = "10" Then
MembSheet.Protect _
Password:="bill", _
DrawingObjects:=True, _
Contents:=True, _
Scenarios:=True, _
UserInterfaceOnly:=True, _
AllowFormattingCells:=True, _
AllowFormattingColumns:=False, _
AllowFormattingRows:=False, _
AllowInsertingColumns:=False, _
AllowInsertingRows:=True, _
AllowInsertingHyperlinks:=True, _
AllowDeletingColumns:=False, _
AllowDeletingRows:=True, _
AllowSorting:=True, _
AllowFiltering:=True, _
AllowUsingPivotTables:=True
Else
MembSheet.Protect _
Password:="bill", _
DrawingObjects:=True, _
Contents:=True, _
Scenarios:=True, _
UserInterfaceOnly:=True
End If

It works perfectly on my version 10 machine. His keeps giving an error; the
debugger shows that his machine is not making the jump over the 'Then'
statement to the 'Else' and his error always comes about when his compiler
tries to read the version 10 Protect block (I know the commands are different
in the two versions). I have googled and searched this list. I can find no
hints. The only thing I haven't tried is 'Val(Application.Version) = 10 but
that shouldn't be necessary, should it?

I am baffled.

Regards Bill

NickHK

Thoght I had this Application.Version solved??
 
Bill,
Application.Version returns a string not a numeric.

You need to use the numeric 10, not the string "10"
Otherwise, you are comparing the strings "9.0" and "10". And Asc(9)Asc(1)

NickHK

"Bill Case" wrote in message
...
Hi;

My friend has Excel version 9.0 (from Application.Version in a MsgBox). I
have version 10.

I have the following in my startup code:

If Application.Version = "10" Then
MembSheet.Protect _
Password:="bill", _
DrawingObjects:=True, _
Contents:=True, _
Scenarios:=True, _
UserInterfaceOnly:=True, _
AllowFormattingCells:=True, _
AllowFormattingColumns:=False, _
AllowFormattingRows:=False, _
AllowInsertingColumns:=False, _
AllowInsertingRows:=True, _
AllowInsertingHyperlinks:=True, _
AllowDeletingColumns:=False, _
AllowDeletingRows:=True, _
AllowSorting:=True, _
AllowFiltering:=True, _
AllowUsingPivotTables:=True
Else
MembSheet.Protect _
Password:="bill", _
DrawingObjects:=True, _
Contents:=True, _
Scenarios:=True, _
UserInterfaceOnly:=True
End If

It works perfectly on my version 10 machine. His keeps giving an error;

the
debugger shows that his machine is not making the jump over the 'Then'
statement to the 'Else' and his error always comes about when his compiler
tries to read the version 10 Protect block (I know the commands are

different
in the two versions). I have googled and searched this list. I can find

no
hints. The only thing I haven't tried is 'Val(Application.Version) = 10

but
that shouldn't be necessary, should it?

I am baffled.

Regards Bill




Tom Ogilvy

Thoght I had this Application.Version solved??
 
From the immediate window:

? "9.0" "10"
True

Your doing a string compare. Use Val to do a numerical comparison.

--
Regards,
Tom Ogilvy


"Bill Case" wrote in message
...
Hi;

My friend has Excel version 9.0 (from Application.Version in a MsgBox). I
have version 10.

I have the following in my startup code:

If Application.Version = "10" Then
MembSheet.Protect _
Password:="bill", _
DrawingObjects:=True, _
Contents:=True, _
Scenarios:=True, _
UserInterfaceOnly:=True, _
AllowFormattingCells:=True, _
AllowFormattingColumns:=False, _
AllowFormattingRows:=False, _
AllowInsertingColumns:=False, _
AllowInsertingRows:=True, _
AllowInsertingHyperlinks:=True, _
AllowDeletingColumns:=False, _
AllowDeletingRows:=True, _
AllowSorting:=True, _
AllowFiltering:=True, _
AllowUsingPivotTables:=True
Else
MembSheet.Protect _
Password:="bill", _
DrawingObjects:=True, _
Contents:=True, _
Scenarios:=True, _
UserInterfaceOnly:=True
End If

It works perfectly on my version 10 machine. His keeps giving an error;
the
debugger shows that his machine is not making the jump over the 'Then'
statement to the 'Else' and his error always comes about when his compiler
tries to read the version 10 Protect block (I know the commands are
different
in the two versions). I have googled and searched this list. I can find
no
hints. The only thing I haven't tried is 'Val(Application.Version) = 10
but
that shouldn't be necessary, should it?

I am baffled.

Regards Bill




Bob Phillips

Thoght I had this Application.Version solved??
 
Use Val(Application.Version) and test for 10

--
HTH

Bob Phillips

(replace somewhere in email address with gmail if mailing direct)

"Bill Case" wrote in message
...
Hi;

My friend has Excel version 9.0 (from Application.Version in a MsgBox). I
have version 10.

I have the following in my startup code:

If Application.Version = "10" Then
MembSheet.Protect _
Password:="bill", _
DrawingObjects:=True, _
Contents:=True, _
Scenarios:=True, _
UserInterfaceOnly:=True, _
AllowFormattingCells:=True, _
AllowFormattingColumns:=False, _
AllowFormattingRows:=False, _
AllowInsertingColumns:=False, _
AllowInsertingRows:=True, _
AllowInsertingHyperlinks:=True, _
AllowDeletingColumns:=False, _
AllowDeletingRows:=True, _
AllowSorting:=True, _
AllowFiltering:=True, _
AllowUsingPivotTables:=True
Else
MembSheet.Protect _
Password:="bill", _
DrawingObjects:=True, _
Contents:=True, _
Scenarios:=True, _
UserInterfaceOnly:=True
End If

It works perfectly on my version 10 machine. His keeps giving an error;

the
debugger shows that his machine is not making the jump over the 'Then'
statement to the 'Else' and his error always comes about when his compiler
tries to read the version 10 Protect block (I know the commands are

different
in the two versions). I have googled and searched this list. I can find

no
hints. The only thing I haven't tried is 'Val(Application.Version) = 10

but
that shouldn't be necessary, should it?

I am baffled.

Regards Bill





All times are GMT +1. The time now is 01:57 PM.

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