首页 > 解决方案 > VBA代码自动将我的工作簿副本保存为只读

问题描述

我有一个多人工作和编辑的工作簿,但是我希望能够保存我的编辑而不必经常“另存为”。我想出了下面的代码来将工作簿的副本保存在不同的位置,但是我怎么能将它保存为只读文件,每次有人进入并点击保存按钮时都不会被编辑?

提前致谢。

Sub Workbook_BeforeSave(ByVal _
  SaveAsUI As Boolean, Cancel As Boolean)
    With ThisWorkbook
        .SaveCopyAs ("G:\Admin\AG\backup of " & .Name)
    End With
End Sub

标签: excelvba

解决方案


我过去曾使用过这些方面的东西

Sub SetFileReadOnly(strPath As String)

Dim o As Object
Dim fl As Object

Set o = CreateObject("scripting.filesystemobject")

Set fl = o.getfile(strPath)
fl.Attributes = 1

Set o = Nothing
Set fl = Nothing

End Sub

推荐阅读