创建具有不同访问权限的Excel,例如在运行时读/写

时间:2013-05-09 04:26:53

标签: excel excel-vba vba

有人可以帮我解决以下问题: 我需要创建具有不同安全访问权限的某些Excel工作表的副本(复制),如“读取”,“读取”和“执行”,“写入”,“修改”和“完全控制”(当您检查文件的属性时,这些选项都可见)。

复制工作簿时,宏会要求用户选择任何一种安全访问权限,当他点击“确定”时,应该使用该访问权限生成文件

使用Excel VBA宏可以实现这样的场景。我应该使用哪种api或函数来实现。

有人可以指出我正确的方向。这将是很大的帮助。

1 个答案:

答案 0 :(得分:0)

我对此进行了测试,它根据当前的读取模式询问问题并重新打开。这显然会根据你的需要进行调整。

它只会以其他模式重新打开文件,而不是将其复制。

Private Sub Workbook_Open()

    With ThisWorkbook
    Stop
        If .ReadOnly Then
            If MsgBox("Change to write mode?", vbYesNo) = vbYes Then
                .ChangeFileAccess xlReadWrite
            End If
        Else
            If MsgBox("Change to read only mode?", vbYesNo) = vbYes Then
                .ChangeFileAccess xlReadOnly
            End If
        End If
    End With

End Sub