通过Domino COM实现Web的痕迹保留设计思路

原创 2003年02月15日 13:15:00

总体思路:

实现步骤:
1,客户端注册NOTES COM控件。(regsvr32 c:/lotus/notes/DOMOBJ.TLB)regsvr32  c:/lotus/notes/nlsxbe.dll
2,在公文数据库中,保存一些已经定制好的公文模板。已供新建公文时使用。
3,表单上加入VBScript将附件从服务器拆离到本地,然后起用WORD。(Word的宏安全性设为中)
4,公文模板中,WORD的文档的退出事件中加入VBA代码,实现文件上传到服务器。

注:为避免启动COM时出现提示口令输入框,可以通过API制作一个DLL来避开。(参考:API例子的)

相关代码:
 表单上的VBScript代码:
<SCRIPT LANGUAGE="VBScript">
Sub Button1_OnClick
    dim s, dir, db, doc, eo, no, word, worddoc
    Set s = CreateObject("Lotus.NotesSession")
    Call s.Initialize
    Set db = s.GetDatabase("sh_server","intranet/webtemp.nsf")
    Set doc = db.getDocumentByUNID("30C11B03D279463548256C7D000DDD74")
    Set eo = doc.getAttachment("普通公文.doc")
    Call eo.ExtractFile( "C:/Temp/test.doc")
  'Create the Word object:
  Set word = CreateObject("Word.Application") 'Create Word object
  Call word.documents.open( "C:/Temp/test.doc" ) 
  Set worddoc = word.activedocument 'Get a handle for the active document
  word.visible = True
    'Call eo.remove
    'Set ritem = doc.getFirstItem("rtfAttachment")
    'Set no = ritem.EmbedObject(1454, "" , "C:/Temp/test.doc" )
    'Call doc.save(True,False)
    'MsgBox db.filename + " & " + db.server,, "Databases on " + db.server
End Sub
</SCRIPT>
 表单上的按钮代码:
<INPUT NAME="Button1" TYPE="BUTTON" VALUE="编辑正文">


Word模板上的VBA代码:
Private Sub Document_Close()
    ActiveDocument.Save
    Dim s, dir, db, doc, eo, no, word, worddoc
    Set s = CreateObject("Lotus.NotesSession")
    Call s.Initialize
    Set db = s.GetDatabase("sh_server", "intranet/webtemp.nsf")
    Set doc = db.GetDocumentByUNID("C47E90193C0E4D3248256C780006A73E")
    Set eo = doc.GetAttachment("普通公文.doc")
    Call eo.Remove
    Set ritem = doc.GetFirstItem("rtfAttachment")
    Set no = ritem.EmbedObject(1454, "", "C:/Temp/test.doc")
    Call doc.Save(True, False)
    MsgBox db.FileName + " 文件已上传至服务器!& " + db.Server, , "Databases on " + db.Server
End Sub

如何实现公文审批痕迹保留与套打

公文审批痕迹保留与套打的功能需要,是我们OA系统中常用且是必备的功能...... ...
  • Nekel
  • Nekel
  • 2011年02月25日 15:34
  • 569

保留修改痕迹

如果我们能够 通过lotusscript编辑控制word的属性改变就解决了“痕迹保留”这个需求。 编辑实现 下面编辑实现上述需求。先建立一表单,在表单中加入如下域名: 名称 类型 默认值 隐藏条件 B...
  • washing2000
  • washing2000
  • 2004年11月18日 23:38
  • 1613

C#如何在win2003 64位系统下访问Lotus Domino Objects的Com组件

由于项目需要,需要用C#访问Lotus Domino Objects的组件,但是却发现在调用Domino的类时报错: 检索COM 类工厂中 CLSID 为 {29131539-2EED-1069-B...
  • hrz513994275
  • hrz513994275
  • 2013年01月06日 23:52
  • 665

如何永久去掉Word修改痕迹的方法

http://www.360doc.com/content/11/0328/17/176070_105378522.shtml
  • z3h0a5n8g8x9i9a2o3
  • z3h0a5n8g8x9i9a2o3
  • 2013年07月02日 11:24
  • 3710

在Web上登录Domino后直接打开用户的邮件

/** * Title: MailRedirectServlet * Description: 登录Domino服务器后直接打开用户的邮件! * 前提Domino配置成支持servelt, * 打开N...
  • YuLimin
  • YuLimin
  • 2003年08月13日 10:27
  • 5481

用Java通过DIIOP远程操作Domino服务器

最近在玩domino,积累点经验大家分享一下: 开发notes本来就是摸着石头过河,随时会碰到怪问题,结合上java更辛苦:( 但是notes有一些优点,比如全文检索,安全性,开发时效...所以至今仍...
  • steeven
  • steeven
  • 2001年11月22日 23:02
  • 3538

Web服务器入侵痕迹检测

web站点默认80为服务端口,关于它的各种安全问题不断的发布出来,这些漏洞中一些甚至允许攻击者获得系统管理员的权限进入站点内部,以下是Zenomorph对一些80端口攻击方式的痕迹的研究,和告诉你怎样...
  • oceanark
  • oceanark
  • 2016年07月13日 23:24
  • 278

清除电脑各种使用记录不留痕迹,保护你的隐私!

手动清除电脑痕迹当然可以,只是操作起来麻烦,又容易漏掉一些。找点资料给你:  1.清除最近使用过的文档记录  以Windows XP为例,右键点击“开始”按钮,选择“属性”,在弹出的设置任务栏和开...
  • vebasan
  • vebasan
  • 2014年03月27日 11:31
  • 3648

websphere与domino之间配置sso

was与domino需要共享一个用户注册表,domino不支持自定义的用户注册表一。domino方面    配置并启动Lotus Domino的LDAP服务配置并启动Lotus Domino的LDAP...
  • fastrunner2003
  • fastrunner2003
  • 2006年08月31日 11:20
  • 1715

81. Domino视图Web展现技术胪列

以列表形式显示大量数据是各种开发中最常见和基本的需求之一。在数据保存在关系型数据库的Web开发中,程序员要处理的是分开的两项任务,一是从数据库中查询记录,二是在视图层生成显示这些数据的HTML。如何分...
  • starrow
  • starrow
  • 2014年10月15日 17:14
  • 5272
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:通过Domino COM实现Web的痕迹保留设计思路
举报原因:
原因补充:

(最多只允许输入30个字)