保存文档前判断RTF域是否是空值
保存文档前判断RTF域是否是空值
RTF域在文档没有保存前,是不能通过script判断的,因此需要以下程序识别是否是空值。
你可以使用下面这个函数来判断,在QuerySave中添加如下代码:
flag = IsRTFNull("你的RTF域名")
If flag = True Then
Messagebox "请填写内容"
Continue = False
End If
Function IsRTFNull(rtfield As String) As Integer
On Error Goto Errhandle
Dim workspace As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Set uidoc = workspace.CurrentDocument
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
'the DeselectAll line generated an error message, indicating that the rich text field does not contain anything
If currentfield <> "" Then
Call uidoc.GotoField(currentfield)
End If
IsRTFNull = True
Exit Function
Case Else
'For any other error, force the same error to cause LotusScript to do the error handling
Error Err
End Select
End Function
RTF域在文档没有保存前,是不能通过script判断的,因此需要以下程序识别是否是空值。
你可以使用下面这个函数来判断,在QuerySave中添加如下代码:
flag = IsRTFNull("你的RTF域名")
If flag = True Then
Messagebox "请填写内容"
Continue = False
End If
Function IsRTFNull(rtfield As String) As Integer
On Error Goto Errhandle
Dim workspace As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Set uidoc = workspace.CurrentDocument
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
'the DeselectAll line generated an error message, indicating that the rich text field does not contain anything
If currentfield <> "" Then
Call uidoc.GotoField(currentfield)
End If
IsRTFNull = True
Exit Function
Case Else
'For any other error, force the same error to cause LotusScript to do the error handling
Error Err
End Select
End Function