中国IT动力,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档 | 网通镜像
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 程序开发 > 综合其他 > 其他资料
通过DominoCOM实现Web的痕迹保留设计思路
作者:davidnim 时间:2002-01-21 12:07 出处:互联网 责编:chinaitpower
              摘要:通过DominoCOM实现Web的痕迹保留设计思路

总体思路:

实现步骤:
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

关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 chinaitpower.com All rights reserved. www.chinaitpower.com 版权所有