Nur so ganz auf die Schnelle:
Die bisherigen Lösungen funktionieren entweder nicht (HasEmbedded wirkt nicht bei importierten Pics, QuerySave bringt nichts, da zu diesem Zeitpunkt das RTF noch nicht im Backend gespeichert wurde, der Grössentest könnte durch andere Felder zu Verfälschungen führen)
Auch nicht ganz sicher, aber seit vier Jahren bei mir bewährt, folgender Code:
Sub Queryclose (Source As Notesuidocument, Continue As Variant)
Dim item As NotesItem
Dim szOrgValue As String
Dim lRTSize As Long
szOrgValue = Source.Document.Anhang (0)
Set item = Source.Document.GetFirstItem ("Bild")
If item Is Nothing Then
Source.Document.Anhang = "nein"
Else
lRTSize = item.ValueLength
If lRTSize > 5000 Then
Source.Document.Anhang = "ja"
Else
Source.Document.Anhang = "nein"
End If
End If
If Source.Document.Anhang (0) <> szOrgValue Then
Call Source.Document.Save (True, False, True)
End If
End Sub
- Im QueryClose wurde das Dok ja bereits gespeichert
- es wird nur auf die Grösse des interessierenden Items geprüft (auch hier gilt wie bei eknori's Vorschlag: Mit der Grösse experimentieren ... Rund 100 Byte ist ein leeres RTF je nach Version)
- Gespeichert wird nur bei Änderungen (die im Lesemodus nicht passieren können, wenn QueryClose so erreicht wird)
HTH,
Bernhard