
| 出版日期:2001-10-29 总期号:1067 本年期号:82 |
|
在Lotus中实现修改痕迹的保留
江恭和 在众多的办公自动化软件中,一般都会提及文档修改痕迹保留这一功能,它能真实地记录文档在流转中被修改的内容,而其中大多数办公自动化产品都是通过Lotus Notes与微软的Word相结合来实现的。下面,笔者将举一个简单的例子来说明其实现这一功能的通用方法。 创建库表 创建一个新数据库和一个新表单,在表单中创建一个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("Microsoft Word 文档","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 = True .ShowRevisions = True .Application.UserName=Session.CommonUserName End With End If End Sub 通过以上步骤,就可以实现文档修改痕迹的保留的基本功能 ,以上程序在Lotus Notes R5上测试通过,希望对感兴趣的读者能提供一定的帮助。 |
|||||||||||||||||||||||||||||