首先要引用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