随笔 - 22, 评论 - 123, 引用 - 0

导航

关于

本Blog站点上的任何言论仅代表个人观点,与其所在的公司,团体或者其他组织没有任何关系。本Blog站点的内容是按原样提供的,作者并不对其提供任何种类的担保。此外还否认所有暗示的保证,包括但不局限于在任何试销性或某一特定用途的适用性方面的暗示保证。由于本站内容的使用或性能表现带来的全部风险将由使用者自己承担。任何由于使用或无法使用本站内容而带来的损失(包括但不局限于商业利润、业务中断、业务信息或其他财产上的损失),即使在 本站作者曾经被提醒可能出现这些损失的情况下,本站 及其作者或涉及内容创建的任何其他人等对任何上述的损失概不负责。

标签

每月存档

最新留言

  • 回复: 搜搜地址栏的一些技术分析
    唉,象天书一样!有简单的办法没?就象用工具拆卸一样。请制造一种工具吧!SOSO简直是流氓的爷爷!谁行行好帮帮菜鸟们!!!
    by ZSD(匿名) on 2008/1/14 2:14:00
  • 回复: 搜搜地址栏的一些技术分析
    我的电脑出问题了,kernel32.dll的错误,是不是QQ引起的啊,重装了系统,还是这里的错误,晕了
    by wang(匿名) on 2007/12/18 22:40:00
  • 回复: 搜搜地址栏的一些技术分析
    太专业拉我看不懂,不过我还是卸掉拉 <br>
    by L(匿名) on 2007/12/12 22:35:00
  • 回复: 搜搜地址栏的一些技术分析
    佩服专业精神,让我学习到了很多知识和技术! <br>我遇到过你所到说的情况,不知道怎么办.现在看了你的的分析,我知道了.非常相当的谢谢! <br>
    by m9cn(匿名) on 2007/12/9 19:44:00
  • 回复: 搜搜地址栏的一些技术分析
    我看SOSO就是一个病毒
    by 我(匿名) on 2007/11/24 12:35:00
  • 回复: SoDAHK.DLL问题
    晕,这么简单的问题,居然也搞半小时!? <br>开个SRENG一看,就一清二楚了。一分钟的时间都不用,就能修复。
    by RAY(匿名) on 2007/11/13 16:53:00
  • 回复: RMS与PKI
    ding,TAIHAO LE RMS中用户的认证,最终是通过证书来进行的。在证书中对于用户的标志,是用户在AD中设置的电子邮件地址。因此,在使用RMS的时候,必须在AD中(可以通过AD用户和计算机管...
    by AA(匿名) on 2007/10/6 18:54:00
  • 回复: RMS与PKI
    ding
    by AA(匿名) on 2007/10/6 18:53:00
  • 回复: 搜搜地址栏的一些技术分析
    具体怎么删,能说的简单些吗?它弄的我c盘打不开
    by xiaoyue(匿名) on 2007/9/14 15:18:00
  • 回复: Outlook Add-In,安全带来的麻烦
    您好: <br> 我是一个VB程序员,目前有这样一个需求,写一个程序从Exchange2003收下一卦邮件,并将这卦邮件的附件更新到DB里,以前我用MAPI控件实现了,但是老是要弹...
    by 张逸(匿名) on 2007/8/7 11:37:00

广告

对Word文档自动设置RMS权限

RMS是微软的文档权限保护技术,Office 2003中的IRM也是基于RMS。用户可以对于Word等文档,指定相关的访问人以及他们的权限(如读取、修改、打印),以防止机密信息的泄漏。

默认情况下,用户需要指定文档的权限设置。但是对于某些企业,为了加强文档权限的管理,客户可能希望在Word 2003中自动设置文档权限,或者提示尚未设置权限的警告信息。

Word2003并没有直接支持权限自动设置功能,但是如果客户需要,可以通过开发WordAdd-in,响应文档创建、保存或者关闭等事件,在其中完成权限的设置(Office中提供了Permission对象,用于文档权限相关的操作)。可以使用VBVS.Net等开发环境开发Add-In

 

从可用性的角度考虑,由于强制设置的权限可能会给用户带来不便,建议仅在必要的情况下采用这种方法;另外,考虑到日常的管理问题,在企业环境中,Add-in应该支持通过管理的方式对于行为进行控制。

 

为了验证可行性,我写了一个简单的样例Add-in(基于VS2003的Add-In Wizard),它将在用户关闭文档时进行检查,如果没有权限保护,则弹出对话框提示用户。该样例并没有检查文档的状态(比如是否修改过)以便进行更精确的处理,仅仅作为演示的目的。

 

样例代码大部分由VS.Net Shared Add-in Wizards自动生成,我在其中仅加入了响应DocumentBeforeClose的相关代码,以便进行文件权限设置的检查以及提示消息框的显示:

OnConnection函数中,加入:

applicationObject = (Microsoft.Office.Interop.Word.ApplicationClass)application; applicationObject.DocumentBeforeClose+=new Microsoft.Office.Interop.Word.ApplicationEvents4_DocumentBeforeCloseEventHandler(Word_DocumentBeforeClose); 在Connect类中加入函数: private void Word_DocumentBeforeClose(Microsoft.Office.Interop.Word.Document doc, ref bool Cancel) { Microsoft.Office.Core.Permission perm=doc.Permission; if (!perm.Enabled) { System.Windows.Forms.DialogResult dr=System.Windows.Forms.MessageBox.Show("Your document isn't rights protected yet, Would you like to set it?","Permission",System.Windows.Forms.MessageBoxButtons.YesNo); if (dr==System.Windows.Forms.DialogResult.Yes) Cancel=true; } }

Connect类中定义变量:

private Microsoft.Office.Interop.Word.Application applicationObject;

 

为了使用该程序需要安装Office 2003 PIAWord 2003 PIA,可以通过完全安装Office 2003确保及其上安装了上述PIA。关于PIA的更多信息,可以参考Office 2003 Primary Interop Assemblies (PIAs): http://msdn.microsoft.com/library/default.asp?url=/library/en-us/stagsdk/html/stconPIAs.asp

 

关于Office编程的更多信息可以参考

HOW TO:使用 Visual C# .NET 生成 Office COM 外接程序:http://support.microsoft.com/?id=302901

How To Handle Events for Word by Using Visual C# .NEThttp://support.microsoft.com/default.aspx?scid=kb;EN-US;302817

 

posted on 2006-02-13 12:33:00 by johnxu  评论(2) 阅读(8148)

Powered by: Joycode.MVC引擎 0.5.2.0