View Full Version : 请问, 如何判断RTF域是否为空??
r3station
13-09-06, 01:46 PM
请问, 如何判断RTF域是否为空??
在网上也找了,大都是先goto到哪个Field,再分别selece, deselect一下进行判断,都不太好用!
请问,有没有其它方法好方法啊,请各位指教!
谢谢!!
你可以用len(doc.域名(0))<=0就是空啊。
r3station
14-09-06, 08:16 AM
原帖由 ly_sl 于 2006-9-13 03:52 PM 发表
你可以用len(doc.域名(0))<=0就是空啊。
非常感谢! 我试一下看看。 < 曾试用doc.GetFirstItem("Body").ValueLength不行 >
r3station
14-09-06, 08:28 AM
原帖由 ly_sl 于 2006-9-13 03:52 PM 发表
你可以用len(doc.域名(0))<=0就是空啊。
你好! 经验证,采用len(doc.域名(0))<=0通不过,只能判断该RTF域是否有文字。如有只在该RTF域内加入 附件或图片就不能正确判断或者出错。
谢谢!
原帖由 r3station 于 2006-9-13 01:46 PM 发表
请问, 如何判断RTF域是否为空??
在网上也找了,大都是先goto到哪个Field,再分别selece, deselect一下进行判断,都不太好用!
请问,有没有其它方法好方法啊,请各位指教!
谢谢!!
怎么会呢?我觉得goto到那个Field,再分别Call uidoc.selectall, Call uidoc.deselectall的方法很好用啊~~
r3station
14-09-06, 09:59 AM
原帖由 暴风雪 于 2006-9-14 09:45 AM 发表
怎么会呢?我觉得goto到那个Field,再分别Call uidoc.selectall, Call uidoc.deselectall的方法很好用啊~~
非常感谢回复.
用以上方法是能够正确判断. 但我有几十个RTF域,域名分别为RTF1, RTF2, RTF3......RTF60,
当往RTF60域写的时候,判断RTF59是否为空,如果为空,就往RTF59里写,
进入RTF59时,再判断RTF58是是否为空,如果空,就往RTF58里写,以防浪费一个域.... 依次类推.
因为我控制用户从RTF1到RTF60里依次写内容, 并控制发出以后的内容是不能修改
我是把以上的判断放在Entering事件中的, 如果用以上的方法,就会造成LOOP, 所以不太好用. 所以寻求不用GOTO那个field而判断其是否为空的方法.
谢谢!
jadeneo
14-09-06, 05:30 PM
公式判断:
@Command([EditGotoField];"Body");
@Command([EditSelectAll]);
@If(@IsError(@Command([EditDeselectAll]));@Return(@Prompt([OK];"提示";"BODY域不能为空!"));"");
脚本判断:
Function IsRTFNull(rtfield As String) As Integer
On Error Goto Errhandle
currentfield = uidoc.CurrentField
Call uidoc.GotoField(rtfield)
Call uidoc.SelectAll
Call uidoc.DeselectAll
If currentfield <> "" Then
Call uidoc.GotoField(currentfield)
End If
IsRTFNull = False
Exit Function
Errhandle:
Select Case Err
Case 4407
Call uidoc.GotoField(rtfield)
IsRTFNull = True
Exit Function
Case Else
Error Err
End Select
End Function
r3station
15-09-06, 08:03 AM
非常感谢!请问版主,除了用goto..., 再select all...,desect all的方法,有没有其它不用跳转被判断域,而直接进行判断的方式?
非常感谢!
jadeneo
15-09-06, 09:14 AM
:)
够用了就没在继续想这个问题
你可以研究一下,呵呵
doc.GetFirstItem("Body").ValueLength > 164Kb 为非空, <= 164Kb就是空, 可以试试
sundrenched
04-07-07, 05:12 PM
谢谢.
再试一试.
vBulletin® v3.7.4, Copyright ©2000-2009, Jelsoft Enterprises Ltd.