在Lotus中实现修改痕迹的保留
作者:江恭和 来源:中国计算机报 添加时间:2006-5-21 16:24:35创建库表
创建一个新数据库和一个新表单,在表单中创建一个RTF域,取名为“Body”。Lotus 的RTF域可以嵌入并显示OLE对象,此“Body”域用来创建一个Word对象。接着创建三个操作按钮分别取名为“拟正文”、“隐藏痕迹”和“查看痕迹”。
代码实现
下面是实现修改痕迹保留的具体代码。
1.“拟正文”操作按钮功能及实现代码如下:
实现在“Body”域中创建一个Word(OLE)对象,用来存储文档的正文。
Sub Click(Source As Button)
Dim session As New NotesSession
Dim workspace As New NotesUI- Workspace
Dim uidoc As NotesUIDocument
Set uidoc=workspace.CurrentDocument
Dim doc As NotesDocument
Set doc=uidoc.Document
user = session.commonUserName
uidoc.gotofield("Body")
If (doc.HasEmbedded) Then
Set rtitem=doc.GetFirstItem("Body")
Set embed=rtitem.EmbeddedObjects(0)
Set OLEObject=uidoc.GetObject(embed.name)
Else
'在当前文档的Body域中创建一个新的、空白的Microsoft Word对象,对象名为Microsoft Word 文档,对象类型为Word.Document.8
Set OLEObject=uidoc.CreateObject("MicrosoftWord 文档","Word.Document.8","")
Call uidoc.save
End If
With OLEObject
.TrackRevisions = True
'保留修改痕迹
.PrintRevisions = True
'打印修改痕迹
.ShowRevisions = True
'显示修改痕迹
.Application.UserName=Session.CommonUserName
End With
End Sub
2.“隐藏痕迹”操作按钮功能及实现代码如下:
Sub Click(Source As Button)
Dim session As New NotesSession
Dim ws As New Notesuiworkspace
Dim uidoc As Notesuidocument
Dim doc As Notesdocument
Set uidoc=ws.currentdocument
Set doc=uidoc.document
If (doc.HasEmbedded) Then
Set rtitem=doc.GetFirstItem("Body")
Set embed=rtitem.EmbeddedObjects(0)
Set OLEObject=uidoc.GetObject(embed.name)
With OLEObject
.TrackRevisions =True
.PrintRevisions = False
.ShowRevisions = False
.Application.UserName=Session.CommonUserName
End With
End If
End Sub
隐藏修改痕迹,即不显示,但仍可保留修改痕迹,一般在打印正式文件时使用。
3.“查看痕迹”操作按钮功能及实现代码如下:
Sub Click(Source As Button)
Dim session As New NotesSession
Dim ws As New Notesuiworkspace
Dim uidoc As Notesuidocument
Dim doc As Notesdocument
Set uidoc=ws.currentdocument
Set doc=uidoc.document
If (doc.HasEmbedded) Then
Set rtitem=doc.GetFirstItem("Body")
Set embed=rtitem.EmbeddedObjects(0)
Set OLEObject=uidoc.GetObject(embed.name)
With OLEObject
.TrackRevisions =True
.PrintRevisions = False
.ShowRevisions = False
.Application.UserName=Session.CommonUserName
End With
End If
End Sub
通过以上步骤,就可以实现文档修改痕迹的保留的基本功能,以上程序在Lotus Notes R5上测试通过,希望对感兴趣的读者能提供一定的帮助。
站内搜索