+ Reply to Thread
Results 1 to 2 of 2

restrict opening Excel file residing on a shared drive to one user

  1. #1
    k-ham
    Guest

    restrict opening Excel file residing on a shared drive to one user

    Excell 2000 - I have a worksheet that performs certain functions and then
    saves the file when the workbook is opened. Can I restrict opening this
    workbook which is on a shared drive to one user at a time. I do not need a
    "read-only" option because the second person opening the workbook in "read
    only" would encounter an error due to the automatic saving of the file.

  2. #2
    Dave Peterson
    Guest

    Re: restrict opening Excel file residing on a shared drive to one user

    Is it ok to close the workbook whenever it's opened in readonly mode?

    If yes, you could add something like this to your workbooks
    auto_open/workbook_open code:

    Option Explicit
    Sub auto_open()
    With ThisWorkbook
    If .ReadOnly Then
    MsgBox "Can't open in readonly mode!"
    .Close savechanges:=False
    End If
    End With
    End Sub

    But the user has to have macros enabled for this to work.

    =====
    Alternatively, you could password protect that workbook--so no one can open it
    directly.

    Then give the users a second workbook to open the real workbook. That "helper"
    workbook can check to see if the real workbook is already open.

    Option Explicit
    Sub auto_open()

    Dim RealWkbkName As String
    Dim RealWkbkPswd As String

    RealWkbkName = "c:\my documents\excel\book1.xls"
    RealWkbkPswd = "hi"

    ' Test to see if the file is open.
    If IsFileOpen(RealWkbkName) Then
    MsgBox "File already in use!" & vbLf & "Please try later."

    Else
    Workbooks.Open filename:=RealWkbkName, Password:=RealWkbkPswd
    End If
    ThisWorkbook.Close savechanges:=False
    End Sub

    ' This function checks to see if a file is open or not. If the file is
    ' already open, it returns True. If the file is not open, it returns
    ' False. Otherwise, a run-time error will occur because there is
    ' some other problem accessing the file.

    Function IsFileOpen(filename As String)
    Dim filenum As Integer, errnum As Integer

    On Error Resume Next ' Turn error checking off.
    filenum = FreeFile() ' Get a free file number.
    ' Attempt to open the file and lock it.
    Open filename For Input Lock Read As #filenum
    Close filenum ' Close the file.
    errnum = Err ' Save the error number that occurred.
    On Error GoTo 0 ' Turn error checking back on.

    ' Check to see which error occurred.
    Select Case errnum

    ' No error occurred.
    ' File is NOT already open by another user.
    Case 0
    IsFileOpen = False

    ' Error number for "Permission Denied."
    ' File is already opened by another user.
    Case 70
    IsFileOpen = True

    ' Another error occurred.
    Case Else
    Error errnum
    End Select
    End Function

    The IsFileOpen function is stolen from:
    http://support.microsoft.com?kbid=138621

    And be sure to protect the VBA project for this helper workbook--or someone may
    see the password.

    Inside the VBE with your project selected:
    tools|VBAProject Properties|Protection tab.

    Remember all your passwords!

    If you're new to macros, you may want to read David McRitchie's intro at:
    http://www.mvps.org/dmcritchie/excel/getstarted.htm
    k-ham wrote:
    >
    > Excell 2000 - I have a worksheet that performs certain functions and then
    > saves the file when the workbook is opened. Can I restrict opening this
    > workbook which is on a shared drive to one user at a time. I do not need a
    > "read-only" option because the second person opening the workbook in "read
    > only" would encounter an error due to the automatic saving of the file.


    --

    Dave Peterson

+ Reply to Thread

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts

Search Engine Friendly URLs by vBSEO 3.6.0 RC 1