首先要引用microsoft.office.core(com组件中的office lib)和microsoft.office.excel或word
Imports Microsoft.office.Core.MsoPermission
然后用下列代码来完成加密
Try
'首先启动一个word进程,那么运行这段程序的机器上当然就要安装office2003和rms客户端啦
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