调用Office对象使用rms加密

微软提供的 rms 服务可以对文档进行加密和授权,经过加密和授权的文档,只有指定的用户才可以查看和执行相应的操作,这对于那些想保护自己信息的企业来说无疑非常有用。我们公司打算用它来对技术管理部的文档借阅系统中的好几十个吉的文档进行保护。呵呵呵,如果一个一个文档地加密肯定不现实,那么,只有自己开发一个程序来完成这个操作了。一开始,我想使用 rms sdk 中提供的方法来做,后来发现,那有点复杂。我想,既然 office 中已经有了这个功能,为什么不直接调用 Office 对象来做呢?我到 msdn 中搜了一把,很轻松就找到了解决方案。我根据 msdn 中提供的例子,我做了段小程序就解决了这个问题,下面是我的例子:


    首先要引用
microsoft.office.core(com组件中的office lib)microsoft.office.excelword

    Imports Microsoft.office.Core.MsoPermission

    然后用下列代码来完成加密

Try

'首先启动一个word进程,那么运行这段程序的机器上当然就要安装office2003rms客户端啦

          myApp = New Microsoft.Office.Interop.Word.ApplicationClass

         '打开要加密的文档

myDoc = myApp.Documents.Open(TextBox1.Text)

myDoc.Activate()

'创建一个加密的对象

Dim IrmPermission As Microsoft.Office.Core.Permission

IrmPermission = myDoc.Permission

IrmPermission.Enabled = True

Dim msoPerm As Integer

'只读

If Me.CheckBoxReadOnly.Checked = True Then

msoPerm = msoPerm + Microsoft.Office.Core.MsoPermission.msoPermissionRead

End If

'允许打印

If Me.CheckBoxPrint.Checked = True Then

msoPerm = msoPerm + Microsoft.Office.Core.MsoPermission.msoPermissionPrint

 

          End If

          '允许复制

          If Me.CheckBoxCopy.Checked = True Then

         msoPerm = msoPerm + Microsoft.Office.Core.MsoPermission.msoPermissionExtract

                   End If

                    '允许完全控制

        If Me.CheckBoxFullControl.Checked = True Then

    msoPerm = msoPerm + Microsoft.Office.Core.MsoPermission.msoPermissionFullControl

        End If

            '允许另存

        If Me.CheckBoxSave.Checked = True Then

    msoPerm = msoPerm + Microsoft.Office.Core.MsoPermission.msoPermissionSave

        End If

            '允许使用浏览器阅读

        If Me.CheckBoxUseBrowers.Checked = True Then

    IrmPermission.EnableTrustedBrowser = True

        Else

    IrmPermission.EnableTrustedBrowser = False

        End If

            '允许脱机阅读

        If Me.CheckBoxOnline.Checked = True Then

    IrmPermission.StoreLicenses = False

        Else

    IrmPermission.StoreLicenses = True

        End If

                   'textbox3中是允许读取该文档的用户的邮件地址,第二个参数就是前面计算好的权限代码,最后一个参数是过期日期

    IrmPermission.Add(TextBox3.Text, msoPerm, ExDate)  '#7/31/2005#)

             '另存

    myDoc.SaveAs(TextBox2.Text & "/" & System.DateTime.Now.ToString("yyyyMMddHHmmss") & ".doc")

    myDoc.Close()

    myApp.Quit()

    IrmPermission = Nothing

    myDoc = Nothing

    myApp = Nothing

    MessageBox.Show("OK!")

    Catch ex As Exception

 

        MessageBox.Show(ex.Message)

    End Try

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

想好点

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值