总体思路:
实现步骤:
1,客户端注册NOTES COM控件。(regsvr32 c:lotusnotesdomOBJ.TLB)regsvr32 c:lotusnotesnlsxbe.dll
2,在公文数据库中,保存一些已经定制好的公文模板。已供新建公文时使用。
3,表单上加入vbscript将附件从服务器拆离到本地,然后起用word。(Word的宏安全性设为中)
4,公文模板中,WORD的文档的退出事件中加入VBA代码,实现文件上传到服务器。
注:为避免启动COM时出现提示口令输入框,可以通过api制作一个DLL来避开。(参考:API例子的)
相关代码:
表单上的VBScript代码:
表单上的按钮代码:
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", "intranetwebtemp.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:Temptest.doc")
Call doc.Save(True, False)
MsgBox db.FileName + " 文件已上传至服务器!& " + db.Server, , "Databases on " + db.Server
End Sub
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/10752019/viewspace-976541/ ,如需转载,请注明出处,否则将追究法律责任。