我有一个工作簿,该工作簿由VBA宏自动更新,因此可以更新某些值。
要解决宏尝试更新工作簿时另一个用户打开工作簿的潜在问题,我正在使用一种变通方法,即在宏保存时将属性设置为只读,然后在打开时将其关闭要编辑的书。
double _position = index * (_width + 2 * _horizontalPadding)
+ (_selectedWidth+_horizontalPadding);
_scrollController.animateTo(
_position,
duration: Duration(milliseconds: 1000),
curve: Curves.ease);
但是,任何用户都可以轻松进入文件属性并关闭只读。有什么方法可以保护文件,以便只能通过VBA更改只读文件吗?
答案 0 :(得分:1)
这完全符合您的要求,在保存工作簿时,您可以使用以下密码启用该功能,
ActiveWorkbook.SaveAs Filename:="ThisWorkbook.Path & "\booktoupdate.xlsx", _WriteResPassword:="enter your password", ReadOnlyRecommended:=True
当其他用户尝试编辑时,它会提示您输入密码,而excel仍处于只读模式
答案 1 :(得分:-1)
您可以将目标设置为使用密码保护所有工作表,而不是将文件设置为只读:
Dim SH As Worksheet
For Each SH In ThisWorkbook.Sheets
SH.Unprotect Password:="pass" 'choose a different password if you like
Next SH
'Do your thing
For Each SH In ThisWorkbook.Sheets
SH.Protect Password:="pass"
Next SH
诚实我不知道您能否按照您的要求去做。