欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

怎么判断一个attachment类型的域是否为空

更新时间: 2014-01-05 03:01:47 责任编辑: Author_N1

 

如何判断一个attachment类型的域是否为空?
因为表单中有两个放附件的域A和B,无法用hasEmbedded来判断B是否有附件。
请大神指点一下其他方法。我只需要判断域B是否有附件,但是域A会干扰。

往一个RichText类型的域里放文档链接(Copy as a document link)。怎么判断这个域是不是空?

两个问题,感谢了先!

--参考方法--
目前没有完美的办法,
1) 如果可以先保存文档,那你可以先保存文档(uidoc.Save),然后重新打开就可以对单个RTF字段内容进行判断:
Dim session As New NotesSession
Dim db As NotesDatabase
Dim ws As New NotesUIWorkSpace
Dim uidoc As NotesUIDocument
Dim doc As NotesDocument
Dim strUNID As String
Dim rtfItem As Variant
Dim bFind As Boolean

Set db = session.CurrentDatabase
Set uidoc=ws.CurrentDocument
Call uidoc.Save()
strUNID = uidoc.Document.UniversalID
Call uidoc.Close()
Set doc=db.getDocumentByUNID(strUNID )
Set uidoc=ws.EditDocument(True,doc)
Set doc=uidoc.Document
Set rtfItem =doc.GetFistItem("Your RTF Item Name")
If Not Isempty(rtfItem.EmbeddedObjects) Then
bFind=False
Forall o In rtfItem.EmbeddedObjects
If o.Type=EMBED_ATTACHMENT Then
bFind=True
End If
End Forall
If Not bFind Then
Msgbox "Has Not any Attachment!"
Else
Msgbox "Has Attachment!"
End If
Else
Msgbox "Has Not any Attachment!"
End If

链接的判断只要将那个EMBED_ATTACHMENT换成EMBED_OBJECTLINK,具体参考:
类NotesRichTextItem的EmbeddedObjects属性和类NotesEmbeddedObject的Type属性

1) 如果判断要求不可以保存文档,那只好做个近似的检查无法检查RTF具体写了什么,只能知道它里面有没有东西:
Function CheckRTFField(uidoc As NotesUIDocument, strFieldName As String, strErrorMsg As String) As Boolean
On Error Goto ErrorHandle
CheckRTFField=True
If Not uidoc.EditMode Then
uidoc.EditMode=True
End If
Call uidoc.GotoField(strFieldName)
Call uidoc.SelectAll()
Call uidoc.DeselectAll()
Exit Function
ErrorHandle:
If Err=4407 Then
Msgbox "Error: "+strErrorMsg
CheckRTFField=False
Exit Function
Else
Resume Next
End If
End Function
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 03:01:47
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/17525/
本文WWW.DOC100.NET DOC100.NET版权所有。