Domino 9 und frühere Versionen > ND9: Entwicklung
[Gelöst] Formelsprache - Prüfen, of RichTextField leer ist
jBubbleBoy:
Es ginge auch wie folgt:
--- Code: ---uiDoc.GotoField("RTFeld")
uiDoc.SelectAll
uiDoc.Copy
--- Ende Code ---
Wenn das Feld leer ist kommt der Fehler "Dokumentenbefehl ist nicht verfügbar", bei Inhalt kommt kein Fehler.
Peter Klett:
--- Zitat von: jBubbleBoy am 02.09.16 - 12:49:19 ---Es ginge auch wie folgt:
--- Code: ---uiDoc.GotoField("RTFeld")
uiDoc.SelectAll
uiDoc.Copy
--- Ende Code ---
Wenn das Feld leer ist kommt der Fehler "Dokumentenbefehl ist nicht verfügbar", bei Inhalt kommt kein Fehler.
--- Ende Zitat ---
Ja, coole Idee, da kann man dann eine allgemeingültige Function draus machen
--- Code: ---Function CheckRTItem (uidoc As NotesUIDocument, feldname As String) As Integer
On Error Goto Fehler
uidoc.GotoField (feldname)
uidoc.SelectAll
uidoc.Copy
uidoc.GotoField (feldname)
CheckRtitem = True
Fehler:
Exit Function
End Function
--- Ende Code ---
Das zweite GotoField hebt die Auswahl auf, weil sonst durch einen beliebigen Tastendruck der Inhalt überschrieben wird
--- Code: --- Dim workspace As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Set uidoc = workspace.CurrentDocument
Msgbox CheckRTItem (uidoc, "Body")
--- Ende Code ---
Kann man natürlich noch schöner machen, z.B. Überprüfung, ob das uidoc im EditMode ist, aber als Idee sollte das genügen.
Und natürlich wird damit ggf. der aktuelle Inhalt der Zwischenablage überschrieben, ist halt nichts für diejenigen, die meinen, die Zwischenablage sei eine Archivlösung :-X
Tode:
Die Idee mit der Funktion ist Cool, ABER: Wenn Du einfach ein "Exit Function" machst, dann gilt der Fehler als nicht gehandelt. Und wenn Du in der aufrufenden Funktion ein ErrorHandling hast, wird dieses den Fehler werfen...
Besser ist dann:
--- Code: ---Function CheckRTItem (uidoc As NotesUIDocument, feldname As String) As Integer
On Error Goto Fehler
uidoc.GotoField (feldname)
uidoc.SelectAll
uidoc.Copy
uidoc.GotoField (feldname)
CheckRtitem = True
EndOfRoutine:
Exit Function
Fehler:
Resume EndOfRoutine
End Function
--- Ende Code ---
durch das Resume wird der ErrorStatus zurückgesetzt...
Peter Klett:
Ah, danke für die Ergänzung. Jetzt weiß ich auch endlich, warum in einer unserer großen Routinen gelegentlich "falsche" Fehlermeldungen auftreten ...
SlyFox:
Leute,
ist seid genial!
Das wusste ich zwar bereits vorher, aber es sollte auch einmal offen ausgesprochen werden. :-)
Ganz herzlichen Dank
Christoph
Navigation
[0] Themen-Index
[*] Vorherige Sete
Zur normalen Ansicht wechseln