Das Notes Forum
Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: haeppchen am 23.02.05 - 12:07:11
-
Hallo zusammen!
Ich möchte feststellen, ob ein Rich-Text-Feld leer ist, ohne das entsprechende Dokument vorher speichern zu müssen.
Ist dies überhaupt möglich (also ohne vorher zu speichern)?
Habe es schon probiert mit
1) @Abstract
2) Dim rtItem as NotesRichTextItem
Set rtItem = doc.getFirstItem("Feldname")
string = rtItem.getFormattedText
3) Call uidoc.goToField("Feldname")
Call uidoc.SelectAll
Call uidoc.Copy
Ich erhalte aber jedesmal die Fehlermeldung "Object Variable not set".
Komm ich um das Speichern vor der Abfrage nicht herum?
Simon
-
suchen (http://www.atnotes.de/index.php?topic=18015.msg109386#msg109386) hilft...
-
Sub Querysave(Source As Notesuidocument, Continue As Variant)
itemtext = source.FieldGetText("body")
If itemtext = "" Then
continue = False
Exit Sub
End If
End Sub
Gilt aber nur für text Einträge. Wenn da ein Attachment drin ist oder ein Bild dann muss das noch ergänzt werden
-
@Thomas:
So was in der Art bräuchte ich!
Aber die Überprüfung, ob das Feld leer ist oder nicht soll nicht direkt vor dem Speichern erfolgen, sondern beim Betätigen eines Buttons (also bei Button_Click).
Ich will beim Betätigen dieses Buttons den Inhalt des Rich-Text-Feldes R1 in ein anderes Rich-Text-Feld R2 kopieren, wenn das Feld R1 gefüllt ist. Wenn das Feld R1 leer ist, soll nix passieren.
Das Kopieren des Inhaltes habe ich mit
Call uidoc.goToField("Feld 1")
Call uidoc.SelectAll
Call uidoc.Copy
Call uidoc.goToField("Feld 2")
Call uidoc.SelectAll
Call uidoc.Paste
realisiert.
Wenn jedoch das Feld R1 leer ist, erhalte ich eine Fehlermeldung in der Zeile Call uidoc.SelectAll (Document command is not available).
Ich müsste also irgendwie abfragen, ob das Rich-Text-Feld R1 leer ist oder nicht.
simon
-
Ohh bitte. Denk doch einfach selbst ein wenig nach.
Die Lösung steht doch da schon.
-
Wo verbirgt sich denn die Lösung meines Problems?
Der Befehl
Call uidoc.SelectAll
auf ein leers RT-Feld angewandt führt halt zu dem Fehler "Document command is not available".
Wenn der Fehler auftaucht, weiß ich, dass das Feld leer ist!
Aber wie kann ich diese Fehlermeldung umgehen?
Simon
-
SUCHEN SUCHEN SUCHEN... (in meinem letzten post war ein LINK)
-
Also gut, für ganz faule:
itemtext = uidoc.FieldGetText("Feld1")
If itemtext <> "" Then
Call uidoc.goToField("Feld 1")
Call uidoc.SelectAll
Call uidoc.Copy
Call uidoc.goToField("Feld 2")
Call uidoc.SelectAll
Call uidoc.Paste
end if
-
Vielen Dank für eure Hilfe!
Der Hinweis mit uidoc.fieldGetText("") hat mir weitergeholfen.
Hatte ich bei deinem ersten Posting übersehen, Thomas.
Sorry!