【发布时间】:2012-04-12 09:06:05
【问题描述】:
我有一个在 Excel 2010 中构建的基于宏的文件。它包含敏感数据。为了防止敏感数据被随意传播,我为该文件创建了一个密码。我还创建了防止将文件保存为 PDF 以外的任何文件的宏。所以基本上,我已经做了我能想到的一切来防止文件以 excel 格式发送出去。
但是,我的聪明(或不那么聪明)的用户发现了一个无意的解决方法。如果他们填写了表格,然后在 Excel 中点击“作为附件发送”选项,他们就可以发送预先填充了数据且所有功能都完好无损的文件。这绕过了我的安全措施,也让我很恼火,因为我已经明确告诉用户不要发送此文件。
在网上查了一下,好像没有办法关闭邮件作为附件的功能。似乎也没有任何方法可以检测到电子邮件事件(相当于 Before_Print 事件)。我想知道 StackOverflow 社区是否对如何解决这个问题有任何建议。
【问题讨论】:
-
删除菜单中的作为附件发送条目并在您的工作簿失去焦点之前将其添加回来?例如:rondebruin.nl/ribbon.htm
-
I've also created macros that prevent saving.... out in its excel format.这还不够好 :) 如果用户禁用宏,那么他们将能够以 PDF 以外的格式保存文件。为什么不创建一个 PDF 表单,然后让用户填写并发送给您? -
这意味着我必须为整个公司准备这些表格,这不在我的工作描述中! :-) 此外,如果他们禁用宏,他们会禁用使该工具成为风险的大部分功能(它包含支付信息)。
-
我看到了有关如何修改 UI 以使用 XML 将邮件作为附件功能删除的链接。我的偏好是不这样做,因为如果在用户使用我的文件时发生任何事情并且我没有机会重置 UI,这将导致问题。
-
玩弄 riboon 很有趣;我很确定 XML 是特定于 xlsx 文件的 - 因此,如果用户在文件中时发生某些事情,xl 将在另一个文件被激活时重置
标签: email caching excel email-attachments vba