Domino 9 und frühere Versionen > Entwicklung
%Include "xyz" in der Script-Bibliothek
-Michael-:
Hi,
ich habe übrigens festgestellt, dass man bei verschlüsselten Mails aufpassen muss, da ansonsten nicht jeder Zugriff hat, dies ist auch bei RenderToRTItem der Fall.
Bei RenderToRTItem habe ich mal folgenden Code getestet, der auch funktioniert (in ND6):
Script-Auszug (DocThis ist aktuelles Dokument, in das ein Mail, also docMail, reingerendert werden soll)
Call docThis.RemoveItem(strRTName)
Set rtitem = New NotesRichTextItem( docThis, strRTName )
Call docMail.RenderToRTItem(rtitem)
Call docThis.Save(False,False)
If docMail.IsEncrypted Then
Forall itm In docThis.Items
If itm.Name = "PublicEncryptionKeys" Then
Call itm.Remove
End If
End Forall
End If
Michael
Axel:
Hi,
danke für den Hinweis. Ich werde das bei der weiteren entwickluing berücksichtigen.
Axel
adminnaddel:
Hallo liebe Gemeinde,
vielleicht mal in der ruhigen Minute, komme nicht weiter! Das u.a. Script macht an der roten Stelle im debugger ein Meldefenster auf und haut mir auf die Finger!
Danke
Sub Click(Source As Button)
Dim session As New NotesSession
Dim ws As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Dim rtitem As NotesRichtextItem
Dim currdoc As NotesDocument
Dim doc As NotesDocument
Dim docNew As NotesDocument
Dim db As NotesDatabase
Dim col As NotesDocumentCollection
Set dbCurrent = session.CurrentDatabase
'Zugriff auf Mail-DB des Users
Set dbMail = New NotesDatabase("","")
dbMail.OpenMail
If Not dbMail.IsOpen Then
Messagebox "Die Mail-Datenbank kann nicht geöffnet werden." + Chr$(10) + "Es können keine Mails importiert werden.", 16, "Vorgänge - Fehler"
Exit Sub
End If 'If Not dbMail.IsOpen Then
'Dialog zur Auswahl
Set col = ws.PickListCollection(1, False, dbMail.Server, dbMail.FilePath, "($Inbox)","Eingangsbox", "Markieren Sie die gewünschten Mails.")
If col.Count = 0 Then Exit Sub
'Abfrage ob Anhänge mit übernommen werden sollen
If Messagebox("Sollen eventuell vorhandene Dateianhänge mit übernommen werden?", 36, "Vorgänge") = 6 Then
intAttachment = 1 'Anhänge werden übernommen
Else
intAttachment = 0 'Anhäge werden nicht übernommen
End If 'If Messagebox("Sollen eventuell vorhandene Dateianhänge...
'Einfügen in Datenbank
Set docNew = docMail.CopyToDatabase(dbCurrent) ----> Meldung = Variant does not contain an object
Call docNew.ComputeWithForm(False, False)
If intAttachment = 0 Then 'Wenn Dateianhänge nicht übernommen werden sollen, werden sie hier gelöscht
If docNew.HasEmbedded Then
Set rtitem = docNew.GetFirstItem("Body")
If rtitem.Type = RICHTEXT Then
Forall objects In rtitem.EmbeddedObjects
If objects.Type = EMBED_ATTACHMENT Then
Call objects.Remove
End If 'If objects.Type = EMBED_ATTACHMENT
End Forall 'Forall objects In rtitem.EmbeddedObjects
End If 'If rtitem.Type = RICHTEXT
End If 'If refdoc.HasEmbedded
End If 'If intAttachment = 0 Then
Call docNew.Save(True,False)
End Sub
Axel:
Hi,
hier dir fehlt die Initialisierung der Variable docMail. Füge mal die beider fettgedruckten Zeilen an den jeweiligen Stellen ein. Dann sollte das funktionieren.
Sub Click(Source As Button)
Dim session As New NotesSession
Dim ws As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Dim rtitem As NotesRichtextItem
Dim currdoc As NotesDocument
Dim doc As NotesDocument
Dim docNew As NotesDocument
Dim docMail As NotesDocument
Dim db As NotesDatabase
Dim col As NotesDocumentCollection
Set dbCurrent = session.CurrentDatabase
'Zugriff auf Mail-DB des Users
Set dbMail = New NotesDatabase("","")
dbMail.OpenMail
If Not dbMail.IsOpen Then
Messagebox "Die Mail-Datenbank kann nicht geöffnet werden." + Chr$(10) + "Es können keine Mails importiert werden.", 16, "Vorgänge - Fehler"
Exit Sub
End If 'If Not dbMail.IsOpen Then
'Dialog zur Auswahl
Set col = ws.PickListCollection(1, False, dbMail.Server, dbMail.FilePath, "($Inbox)","Eingangsbox", "Markieren Sie die gewünschten Mails.")
If col.Count = 0 Then Exit Sub
Set docMail = col.GetFirstDocument 'Maildokument
'Abfrage ob Anhänge mit übernommen werden sollen
If Messagebox("Sollen eventuell vorhandene Dateianhänge mit übernommen werden?", 36, "Vorgänge") = 6 Then
intAttachment = 1 'Anhänge werden übernommen
Else
intAttachment = 0 'Anhäge werden nicht übernommen
End If 'If Messagebox("Sollen eventuell vorhandene Dateianhänge...
'Einfügen in Datenbank
Set docNew = docMail.CopyToDatabase(dbCurrent) ----> Meldung = Variant does not contain an object
Call docNew.ComputeWithForm(False, False)
If intAttachment = 0 Then 'Wenn Dateianhänge nicht übernommen werden sollen, werden sie hier gelöscht
If docNew.HasEmbedded Then
Set rtitem = docNew.GetFirstItem("Body")
If rtitem.Type = RICHTEXT Then
Forall objects In rtitem.EmbeddedObjects
If objects.Type = EMBED_ATTACHMENT Then
Call objects.Remove
End If 'If objects.Type = EMBED_ATTACHMENT
End Forall 'Forall objects In rtitem.EmbeddedObjects
End If 'If rtitem.Type = RICHTEXT
End If 'If refdoc.HasEmbedded
End If 'If intAttachment = 0 Then
Call docNew.Save(True,False)
End Sub
Axel
animate:
Tipp: Option Declare einschalten
Navigation
[0] Themen-Index
[#] Nächste Seite
[*] Vorherige Sete
Zur normalen Ansicht wechseln