我怎样才能打开一个Excel文件读写为一些用户和只读其他人

我有一个excel文件,所有的同事必须有读权限,但只有less数人可以有写权限。

我试图在workbook_open中介绍一个过程来testing用户,并根据它来决定如何打开文件。 我了解到,这不能直接工作,所以我尝试访问一个加载项,该程序具有更改只读状态的过程。

Private Sub Workbook_Open() users = Environ("USERNAME") Select Case users Case "chris": MsgBox "ok" Case "david": MsgBox "ok" Case "sam": MsgBox "ok" Case Else: Application.Run ("read_only") End Select End Sub 

这是Addin中的子函数

 Sub read_only() file_name = ActiveWorkbook.Path & "\" & ActiveWorkbook.Name Status = ActiveWorkbook.readonly ActiveWorkbook.Close ' (the problem is here because also this sub stops when my workbook closes) If Status = False Then Workbooks.Open fileName:=file_name, readonly:=True Else Workbooks.Open fileName:=file_name, readonly:=False End If End Sub 

有没有人有一个想法如何解决这个问题?

你可以直接做:)

尝试这个

 Private Sub Workbook_Open() Users = Environ("USERNAME") Select Case Users Case "chris": MsgBox "ok" Case "david": MsgBox "ok" Case "sam": MsgBox "ok" Case Else Application.DisplayAlerts = False On Error Resume Next 'may already be read only If ThisWorkbook.Path <> vbNullString Then ThisWorkbook.ChangeFileAccess xlReadOnly On Error GoTo 0 Application.DisplayAlerts = True End Select End Sub