lotus notes 开发常用方法

本文介绍了Lotus Notes开发中的一些常见方法和注意事项,包括AppendItemValue的问题、前台类与后台类的区别、OLE共享域的影响、如何整合OA应用与OFFICE、使用APPENDTOTEXTLIST的方法以及ODBC支持的缺陷和数组操作的细节。通过实例展示了可能出现的错误和解决办法,对于深入理解Lotus Notes开发有重要参考价值。
摘要由CSDN通过智能技术生成

  lotus notes 开发常用方法

 

 一、关于AppendItemValue
 试试下面这个简单的例子:
 Dim ws As New notesuiworkspace
 Dim uidoc As notesuidocument
 Dim doc As notesdocument
 Set uidoc=ws.currentdocument
 Set doc=uidoc.document
 For i=1 To 10
 Call doc.appenditemvalue("myitem",i)
 Next
 Call doc.save(True,True )

 这个程序用以对当前文档增加10个ITEM,名字都叫myitem,但值从1到10不等。结果如何?用调试方式进行观察,发现:确实增加了10个ITEM,名字都叫myitem,但值却都是1!这与NOTES中的帮助不符。帮助里宣称:
<script type="text/javascript"> </script> <script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"> </script>
 If the document already has an item called
 itemName$, AppendItemVa
 lue does not replace it.
 Instead, it creates another item of the same
 name, and gives it th
 e value you specify.
 ^^^^^^^^^^^^^^^^^^^^
 从4.6到5.0结果都一样。
  
 二、区分NOTES的前台类与后台类
 由于两者的使用范围不一,在写程序时应注意这一点,尤其写代理时。如果在后台服务器运行的代理里加一句:
 Dim ws As New notesuiworkspace
 代理运行日志报错:Unkown Error.
  
 三、关于NOTES与OLE的共享域
 NOTES提供了一个很好的功能:共享域。NOTES用共享域来与OLE应用程序交换彼此信息。但除非确有必要与OLE应用程序共享信息,建议在设计表单时,选上:禁止共享域。
 笔者曾在一个表单中创建了一个作者域AUTHOR,又在它的RTF域中嵌入MS-WORD文档:
 CALL
 UIDOC.CREATOBJECT("MYDOC","WORD.DOCUMENT.8","")
 似乎一切都正常。但当我变更了NOTES的作者域AUTHOR(因笔者试图通过作者域的改变来控制NOTES文档的修改进而达到流程控制的目的),因为流程的需要,我把它变成了两个值,在NOTES中显示为:
 user1/co1/server1,user2/co1/server2
 然后对RTF域中所嵌入的WORD文档进行了修改,然后退出,保存。结果问题出现了,NOTES报错:你不是文档的作者,不能保存!
 什么原因?当时我明明是用user1/co1/server1进行修改的!后来,仔细调试,把AUTHOR的隐藏属性去掉,仔细观察,发现只要激活了RTF域中嵌入的WORD文档,在RTF域中退出来时AUTHOR的值竟变成了:
 user1/co1/server1/co1/server2!
 原来,WORD也有一个作者域,名字也叫AUTHOR(似乎是不能改变的)WORD的AUTHOR与NOTES的AUTHOR相互影响(怎么影响?我也不知道),于是变出了上面的这个怪东西!解决办法,当然,就是把NOTES表单“禁止域交换”了!(OLE应用程序有太多的域,想弄清这些域的名字,似乎不太可能。所以“禁止域交换”应是解决这类问题的最好办法了,窃以为)
  
 四、使用NOTES整合OA应用、OFFICE弥补NOTES不足

 

 

 

 Sub Entering(Source As Field)
 Dim curws As New notesuiworkspace
 Dim uidoc As notesuidocument
 Set uidoc=curws.currentdocument
 lnflag=uidoc.fieldgettext("docadd")
 If lnflag=0 Then
 Call uidoc.fieldsettext("docadd","1")
 Call
 uidoc.createobject("worddoc","

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值