防患于未然 保卫Office文档安全五招

【菜科解读】
文档的安全级别 对Word文档最大的安全隐患就是宏病毒,为了防止宏病毒Word设立了安全级别的概念。
您可在“工具→选项→“安全性”选项卡→宏安全性”的“安全级”选项卡中进行设置,安全级别共分为高、中、低三挡。
高级别将只运行可靠来源的宏,其它宏一律取消;中级别在打开一个宏时,您会看到一条警告,让您选择是否启用;低级别就不进行宏的保护。
当选择高级别时,已安装的模板和加载项(包括向导)中的宏可能会被禁用。
您只有在“工具→选项→安全性→宏安全性”中单击“可靠来源”选项卡,然后点击“信任所有安装的加载项和模板”复选框,才能让安装的宏不被禁用。
注意:所有随Microsoft Office XP的模板、加载项和宏都经过了Microsoft数字签名。
一旦针对这些已安装文件中的一个安装添加到了您的可靠来源列表中,随后与这些文件的交互操作将不再生成消息。
数字证书的保护 很多文档的来源都是不详的,所以安全性无法保证。
Office可以通过数字证书来确认来源的可靠。
并通过数字证书对文件或宏进行数字签名。
一般来说,数字证书是从商业证书颁发机构和内部安全管理员或信息技术专业人员处获得的。
普通用户可以使用Selfcert.exe工具亲自创建数字签名(由于用Selfcert.exe自己创建的数字证书不是由正式证书颁发机构发行的,使用这种证书添加签名的宏方案将被认为是自签名的方案,这样其他用户有可能无法运行自签名的宏)。
用数字证书进行宏的签名很简单:打开包含要签名的宏方案的文件,在“工具→宏→Visual Basic编辑器→工程资源管理器”中,选择要签名的方案。
再点击“工具→数字签名”命令。
提示: 1. 一定要在宏测试完毕确认后再对宏进行签名,因为对已签名的宏方案的代码进行了更改,它的数字签名就会被删除。
如果是自签名的证书,那么在每次保存时都会对宏方案自动重新进行签名。
2. 如果要防止用户因意外修改宏方案而导致签名失效,请在签发之前锁定宏方案。
您的数字签名只能说明您保证该方案是安全的,并不能证明是您编写了该方案。
因此锁定宏方案不能防止其他用户利用另一个签名替换您的数字签名。
3. 如果您创建了一个可向宏方案添加代码的加载项,则代码应该确定下列内容:如果方案已经进行了数字签名,在继续运行之前,是否通知用户修改签名方案的结果。
文件的密码设置 Word的文件密码包括两种:修改权限密码和打开权限密码。
打开权限密码使得Word文档变成只读文件,如果打开了文档并对其进行了更改,则只能以其他的文件名保存该文档。
而修改权限密码则允许用户随意修改保存。
具体设置办法:打开文件,在“工具→选项→安全性”选项卡中进行密码设置。
提示:若要创建一个长的密码,请单击“高级”,然后选择RC4加密类型。
防止用户改窗体 由于某些文档需要将窗体保护起来,以便他人只能在指定的区域中输入信息。
所以Office提供了窗体保护功能。
使用窗体保护功能时,窗体域中的任何信息都将重新设置。
具体方法:“工具→保护文档→窗体”。
若要给窗体指定密码,以便知道密码的用户能解除保护并修改窗体,在“密码(非必选项)”框中键入密码。
不知道密码的用户仍可在窗体域中输入信息。
如果要保护整个窗体,请单击“确定”按钮。
若要只保护部分窗体,这些部分必须处于不同的节中,单击“节”,然后清除不需要保护的节的复选框。
批注口令的添加 批注在审阅中是非常重要的,Office在“工具→保护文档”中进行了对批注的保护。
您只需选择需要保护的对象,将密码键入到“密码”框中,即可实现保护。
防患于未然,保卫,Office,文档,安全,五招,文档,
Office2011forMac简体中文版安装图文教程
特截一组屏幕供大家欣赏。
安装图标与英文版没有任何区别。
全中文的安装界面连许可协议也汉化了可选组建,这里我只去掉了outlook。
得意于SSD硬盘,安装过程只用了不到1分钟便完成了。
安装完成后第一件事就是打开MSN,官方中文版终于来了,泪流成河。
图标全家福Word的splashWord欢迎界面,是不是比for Windows的还好看?新建文档的界面是有动画效果的。
我们看到有很多模板可供选择新建空白文档首选项不仅完全汉化,还多出了中文版式功能,可见这次微软不是简单的汉化。
关于连帮助都完全汉化了测试Windows建立的简单Word文档兼容性MSN联系人列表。
MSN对话窗口Excel欢迎界面Excel模板建立的文件powerpoint打开Windows建立的复杂的文档,还是没有问题。
可见这次微软在兼容性上下足了功夫。
要知道,Office 2008 for Mac的兼容性,还不如苹果自己的iWork好。
比如用Office 2008 for Mac打开一个Office 2007 for Windows 建立的复杂docx文档,很可能是乱码。
而用苹果的iWork Pages打开,则非常正常,这曾经是非常尴尬的一件事情。
微软到了今天才算彻底解决了这个问题。
而且我们看到Office for Mac里面集成的MSN是没有广告和任何弹窗的,Windows的用户们是否有些心里不平衡呢?另外,由于麻花藤加入Mac大军,正在主导开发n多腾讯旗下的热门软件for Mac版本,不知道是不是意味着Mac OS在国内的春天要来了呢?亦或是无病度无广告时代的终结呢?Office 2011 for Mac 简体中文版:http://www.cr173.com/soft/27984.html Office2011forMac,简体,中文版,安装,图文,
基于VS2005环境的MSoffice自动化开发之熟悉环境篇
从今天起,我将推出一些基于VS 2005环境的MS office自动化开发的一些入门文章。
第一篇是关于熟悉开发环境。
这次我使用的是VS C++ 2005。
经过一番折腾,我感觉VS C++ 2005对MS office自动化开发的支持还比不上VC 6.0。
我这么说是有根据的,因为基于VC 6.0和基于VS 2005环境的MS office自动化开发我都做过。
在VC 6.0,你只需要找到TpyeLib那个dll文件(或tlb文件、olb文件),选择你要用的类,然后VC 6.0为你自动生成.h文件和.cpp文件,这样你就可以直接使用其中定义的类了。
我原以为VS C++ 2005会沿用VC 6.0的做法。
但我发现VS C++ 2005采用了新的做饭,这也倒没什么,问题严重的是这种新的方式居然对MS office自动化开发支持比较的糟糕(Word操作部分)。
进行MS office自动化开发,做法基本都是选择MS office的组件,然后导出你要使用的接口类,这在VC 6.0和VS C++ 2005都是一样。
下面我以一个简单例子说明一下VS C++ 2005的具体做法,对应的ms office版本是office 2003。
首先用VS 2005新建一个单文档工程Owner,然后为工程添加一个类,选择 TypeLib中的MFC类 ,具体如下图:单击 添加 按钮后出现下图,从下图我们看出VS 2005比VC 6.0的一点进步,这里多了一个导出来源:注册表。
注册表的好处是名字直观,否则比如选择文件,你要操作word,你还要费一番心思去搜索操作word的类到底藏在哪个dll文件或olb文件、或tlb文件之中呢? 基于顾名思义的原则,我们在可用的类型库中选择Micro Word 11.0 Object Library。
这时出现一大堆接口类,我们也不知道该用哪个,干脆一古脑把它们全导入进来,具体如下图: 单击 完成 按钮后,你可以发现工程在一时之间出现了一大堆.h文件:CAddIn.h、CAddIns.h 你可能会疑惑,对应的cpp文件呢?对不起,VS 2005并没有为你生成。
这时你或许感受到VS 2005和VC 6.0在office自动化开发的一点区别了吧。
既然一夜之间来了那么多新丁,先编译一下吧,OK,编译通过,这时你会说:VS 2005和VC 6.0的做法也不过大同小异罢了。
先别那么早下结论,开始编码:#include"CApplication.h"CApplicationapp;先编译一下,这时出现了一些你想象不到的编译错误:1>f:\mytest\mytest\src\intdir\debug\owner\msword.tlh(1073) : error C2786: BOOL (__stdcall *)(HDC,int,int,int,int) : __uuidof 的操作数无效1>f:\mytest\mytest\src\intdir\debug\owner\msword.tlh(1073) : error C2923: _com_IIID : Rectangle 不是参数 _Interface 的有效模板类型变量1> c:\program files\microsoft visual studio 8\vc\platformsdk\include\wingdi.h(3514) : 参见 Rectangle 的声明1>f:\mytest\mytest\src\intdir\debug\owner\msword.tlh(1073) : error C3203: _com_IIID : 未专用化的类模板不能用作模板变量,该变量属于模板参数 _IIID ,应为real 类型1>f:\mytest\mytest\src\intdir\debug\owner\msword.tlh(7113) : warning C4003: ExitWindows 宏的实参不足1>f:\mytest\mytest\src\intdir\debug\owner\msword.tlh(7113) : error C2059: 语法错误: 常量 1>f:\mytest\mytest\src\intdir\debug\owner\msword.tlh(13448) : error C2146: 语法错误: 缺少 (在标识符 Fonts 的前面)1> f:\mytest\mytest\src\intdir\debug\owner\msword.tlh(13448) : error C4430: 缺少类型说明符- 假定为int。
注意: C++ 不支持默认int 这时你可能会大呼:My God!这是怎么回事?抱歉,我也不知道为什么会出现这种问题。
我初步估计为VS C++ 2005对MSWORD.olb这个组件支持得并不好,对其它一些组件可以支持。
在这里我提供一个解决方案。
在CApplication.h中将系统自动生成的:#import"C:\\ProgramFiles\\MicrosoftOffice\\OFFICE11\\MSWORD.OLB"no_namespace注释掉。
然后添加如下代码:#import"C:\ProgramFiles\CommonFiles\MicrosoftShared\Office11\MSO.DLL"#import"c:\ProgramFiles\CommonFiles\MicrosoftShared\VBA\VBA6\VBE6EXT.olb"#import"c:\ProgramFiles\MicrosoftOffice\Office11\MSWORD.olb"\rename("ExitWindows","_ExitWindows")#import"c:\ProgramFiles\MicrosoftOffice\Office11\EXCEL.exe"\rename("DialogBox","_DialogBox")\rename("RGB","_RGB")\exclude("IFont","IPicture")这样做之后再选择 重新生成 重新编译整个工程就可以顺利使用CApplication类了(注意是重新生成),尽管还有一些警告。
另外在每次编译时不时出现下面这个讨厌的对话框: 我还没找到办法去掉这个对话框。
基于,VS2005,环境,的,MSoffice,自动化,开,