首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >工作簿保护不受密码保护(VBA Excel 2010)

工作簿保护不受密码保护(VBA Excel 2010)
EN

Stack Overflow用户
提问于 2020-01-31 07:13:16
回答 1查看 308关注 0票数 3

我用各种关键字搜索了上述问题,但所有结果要么与如何保护工作簿有关,要么在不知道密码的情况下解除保护。

我目前的问题并不是什么大问题,但我觉得很奇怪,我想知道其他人是否经历过这个问题。

我目前正在制作Excel 2010 VBA宏来自动化数据处理。我正在添加工作簿保护,这样用户就不能移动工作表的位置。我通过VBA 'thisworkbook.protect‘或传统的Excel菜单完成了这一工作。

当我运行以下代码时,无论密码、结构/窗口设置如何,工作簿保护都会完全消失。

代码语言:javascript
复制
Sub test()
        ThisWorkbook.Worksheets(1).Cells(1, 1).Value(11) = ThisWorkbook.Worksheets(3).Cells(1, 1).Value(11)
End Sub

只要在代码末尾添加'thisworkbook.protect‘,就可以重新锁定工作簿并解决问题,这就是为什么这不是一个大问题的原因。但我完全无法理解这一现象。

我很感激任何能给我反馈的人。谢谢。

编辑1我相信这不是一个worksheet.protect问题。无论工作表和单元格是否受到保护,我的问题都会发生,我特别关注工作表的位置和名称,它们属于workbook.protect命令。

编辑2:

因此,问题在于以下方面,而不涉及Workbook.ProtectWorksheet.Protect方法之间的区别:

  1. I打开一个受保护的工作簿;
  2. 运行提供了没有不保护工作簿的代码片段,因为它不会影响工作表的
  3. 保护,尽管我的意图是之前的操作取消了它。必须再次保护工作簿。
EN

回答 1

Stack Overflow用户

发布于 2020-02-12 07:07:35

好吧,微软的回答是:

如果我正确地解释了您的发现,则此报告的前提是攻击者复制和访问了包含未加密的密码保护工作簿/工作表/字段的Excel文件。在这种情况下,这是一个预期的函数。

我的报告立刻被关闭了,所以我没有机会坚持这个错误。

所以他们直截了当地说这是一个“功能”(预期的函数),而不是一个bug。显然,他们认为工作簿保护不是安全特性,唯一的安全保护是使用密码加密工作簿,在查看之前实际上需要输入密码。

IMHO,这仍然是一个错误和一个意想不到的行为。但是微软显然并不在意这一点,因为这个bug意味着工作簿保护是无用的,只会阻止用户意外地破坏一些东西。

所以,要么您找到了解决办法,因为您知道可以在运行该类型的代码后重新保护它,或者您没有使用导致bug的“特性”。

但是,任何知道这个错误的人都可以使用它从任何工作簿中删除工作簿保护。我看不出有什么办法能阻止移除。而且,由于这个bug已经在Excel 2010以及最近的版本中运行,微软在不久的将来不太可能修复这个问题。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59999454

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档