源自:其他 在很多企事业单位,处于商业机密保护的需要,常常需要禁止一些文件格式的“另存为”功能,防止通过“另存为”将文件另行保存,据为己有的目的;尤其是在局域网中访问服务器共享文件的时候,常常需要禁止将共享文件另存为本地,防止将服务器共享文件泄露出去。尤其是对常见的Word、Excel和一些图片格式的文件,必须有效禁止其另存为的功能,以保护文件安全。
那么,企事业单位如何实现禁止Word另存为、禁止图片另存为、禁止Excel另存为呢?笔者认为,这一方面可以借助于专门的文件保护软件,尤其是一些“共享文件夹管理软件”、“共享文件加密软件”等,通过将共享文件进行加密保护的方式,禁用上述文件的“另存为”功能;另一方面也可以借助一些技术方法(如宏命令或文件格式转换)来实现。
一、通过宏命令禁止Word 另存为、实现Excel 禁止另存为、禁止图片另存为本地磁盘
1、使用Word 模板、微软接口、Word 插件来禁用Word 另存为
1)建立WORD模板,在模板中写宏代码,重载FileSaveAs方法,在此方法里边不要写任何代码,如:sub FileSaveAs end sub 用代码让操作的WORD加载此模板。
此方法的前提是:宏安全性设置为中或低。
2)使用微软接口,将按钮灰掉或不可见
灰:设置菜单的Enabled,属性为false
不可见:设置菜单的Visible,属性为false
此方法缺点:在出现异常时会修改本地的normal模板,造成所有文件都不可用另存为按钮。
3)制作word插件
类似于第一种方法,只不过是写word插件,在插件中重载另存事件。
此方法和第一种方法相比,没有宏安全性的限止。
三种方法,第1种最简单;第3种最好;第2种有BUG,但也是一般人常用的方法。
2、Excel 禁止另存为、禁用Excel 另存为功能
在宏编辑器里的ThisWorkBook下写入代码:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Me.Saved = True
End Sub
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean,Cancel As Boolean)
Cancel = True
End Sub
文件打开什么样子,关闭时将不会有任何变化。
3、禁止图片另存为
这种情况一般是通过将图片转化成flash的方式来阻止用户将图片另存为本地,或者即便另存为了也无法修改图片,毕竟是动态的flash了。网上有很多专门将图片转化为flash的软件,如Ailt PNG to SWF。
二、使用专门的共享文件夹管理软件、共享文件加密软件来实现Word禁用另存为、Excel禁用另存为、图片禁用另存为功能
现在市面上有一些专门的共享文件管理软件、共享文件加密软件,通过将文件格式进行特定的转化、加密使得文档打开之后禁止其另存为功能,防止另存为本地磁盘,从而有效地保护了共享文件的安全。