ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Verifying path fails for no apparent reason..Clueless (https://www.excelbanter.com/excel-programming/363239-verifying-path-fails-no-apparent-reason-clueless.html)

[email protected]

Verifying path fails for no apparent reason..Clueless
 
Hi

What I want to do is to ensure that the workbook is opened only from
the designated folder, in this case it is a folder in a mapped network
drive P:\. The code works as intended if I try to open the workbook
from my C:\ drive, ie. the workbook closes showing the message box. The
code is:

Const ServerPath As String = "P:\Documents and Settings\All
Users\Documents"

Private Sub Workbook_Open()
If ThisWorkbook.Path < SeverPath Then
MsgBox "You are not allowed to open the workbook from the
current location"
ThisWorkbook.Close
End If
End Sub

However when the file is on the server, the workbook still closes.
Following command yielded the following:

Debug.Print ServerPath
Debug.Print ThisWorkbook.Path
Debug.Print ThisWorkbook.Path < SeverPath

P:\Documents and Settings\All Users\Documents
P:\Documents and Settings\All Users\Documents
True

Why is If ThisWorkbook.Path < SeverPath evaluating to true, eventhough
both ServerPath and ThisWorkbook.Path is same?

I am stumped. Any suggestions?

TIA.


Ardus Petus

Verifying path fails for no apparent reason..Clueless
 
Typo:
If ThisWorkbook.Path < SeverPath Then


should be:
If ThisWorkbook.Path < ServerPath Then


The error would be easier to find if you used Option Explicit

HTH
--
AP

a écrit dans le message de news:
...
Hi

What I want to do is to ensure that the workbook is opened only from
the designated folder, in this case it is a folder in a mapped network
drive P:\. The code works as intended if I try to open the workbook
from my C:\ drive, ie. the workbook closes showing the message box. The
code is:

Const ServerPath As String = "P:\Documents and Settings\All
Users\Documents"

Private Sub Workbook_Open()
If ThisWorkbook.Path < SeverPath Then
MsgBox "You are not allowed to open the workbook from the
current location"
ThisWorkbook.Close
End If
End Sub

However when the file is on the server, the workbook still closes.
Following command yielded the following:

Debug.Print ServerPath
Debug.Print ThisWorkbook.Path
Debug.Print ThisWorkbook.Path < SeverPath

P:\Documents and Settings\All Users\Documents
P:\Documents and Settings\All Users\Documents
True

Why is If ThisWorkbook.Path < SeverPath evaluating to true, eventhough
both ServerPath and ThisWorkbook.Path is same?

I am stumped. Any suggestions?

TIA.




[email protected]

Verifying path fails for no apparent reason..Clueless
 
Bangs head on table.

That was the only module I didnt have Option Explicit... :-(

Thanks Ardus for pointing it out.

Now there is another thing I just noticed. If I disable Macro on
opening I can still view the Worksheet. I am wondering if there is a
workaround to that...?

Anyway thanks..




Ardus Petus wrote:
Typo:
If ThisWorkbook.Path < SeverPath Then


should be:
If ThisWorkbook.Path < ServerPath Then


The error would be easier to find if you used Option Explicit

HTH
--
AP

a écrit dans le message de news:
...
Hi

What I want to do is to ensure that the workbook is opened only from
the designated folder, in this case it is a folder in a mapped network
drive P:\. The code works as intended if I try to open the workbook
from my C:\ drive, ie. the workbook closes showing the message box. The
code is:

Const ServerPath As String = "P:\Documents and Settings\All
Users\Documents"

Private Sub Workbook_Open()
If ThisWorkbook.Path < SeverPath Then
MsgBox "You are not allowed to open the workbook from the
current location"
ThisWorkbook.Close
End If
End Sub

However when the file is on the server, the workbook still closes.
Following command yielded the following:

Debug.Print ServerPath
Debug.Print ThisWorkbook.Path
Debug.Print ThisWorkbook.Path < SeverPath

P:\Documents and Settings\All Users\Documents
P:\Documents and Settings\All Users\Documents
True

Why is If ThisWorkbook.Path < SeverPath evaluating to true, eventhough
both ServerPath and ThisWorkbook.Path is same?

I am stumped. Any suggestions?

TIA.




All times are GMT +1. The time now is 02:28 AM.

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