Hallo,
ich hatte folgendes Problem:
Wenn ich ein Mail aus einer Vorlage erstellt und als Entwurf gespeichert habe, dann ist die Vorlage aus der Ansicht verschwunden. Dieses Verhalten wurde auch schon das eine oder andere Mal geposted. Ich muss dazusagen, dass wir ein modifiziertes Mailtemplate verwenden was auch der Grund bei den anderen sein dürfte. Warum das passiert weis ich nicht, ich hab aber eine Lösung für all jene, die dieses Problem auch haben. Sie ist simpel, aber funkt. Ich leg einfach eine Kopie der Vorlage an und lösch das Flag "IsMailStationery".
Und hier der Code für die Ansicht "(Vorlage)"
Sub Queryopendocument(Source As Notesuiview, Continue As Variant)
On Error Goto errHandle
Dim uiWSP As New NotesUIWorkspace
Dim session As New NotesSession
Dim db As NotesDatabase
Dim vdoc As NotesDocument
Dim doc As NotesDocument
Dim it As NotesItem
If source.CaretNoteID = "" Then Exit Sub
Set db = session.CurrentDatabase
Set vdoc = db.GetDocumentByID(source.CaretNoteID)
If vDoc Is Nothing Then Exit Sub
Set doc = db.CreateDocument
Call vDoc.CopyAllItems(doc)
Set it = doc.GetFirstItem("IsMailStationery")
If Not it Is Nothing Then Call it.Remove
continue = False
Call uiWSP.EditDocument(True, doc)
Exit Sub
errHandle:
Msgbox Err & " : " & Error & " in Zeile " & Erl
Exit Sub
End Sub
Und Hier für die Aktion "Neue Nachricht mit Vorlage..." in der o.a. Ansicht (Änderungen in rot)
Sub Click(Source As Button)
'*********************************************
'Begin Quota Checking Code
'*********************************************
Const MB_OK=0
Dim quotaCheck As New CheckQuota
If quotaCheck.isEnabled Then
Call quotaCheck.init
If quotaCheck.dbQuota<> 0 Then
If quotaCheck.dbSize >= quotaCheck.dbQuota Then
Call quotaCheck.DoMessageBox(MB_QUOTAOVER, MB_OK, MB_QUOTAOVER)
Exit Sub
Elseif quotaCheck.dbSize >= quotaCheck.dbWarning Then
If quotaCheck.dbWarning <> 0 Then
Call quotaCheck.DoMessageBox(MB_QUOTAWARNING, MB_OK, MB_QUOTAWARNING)
End If
End If
End If
End If
'*********************************************
'End Quota Checking Code
'*********************************************
Dim session As New notessession
Dim uiws As New notesuiworkspace
Dim collection As notesdocumentcollection
Dim noteUIEditDocument As notesuidocument
Dim database As NotesDatabase
Set noteCursorDoc = session.currentdatabase.createdocument
Set database = session.currentdatabase
Set collection = uiws.Picklistcollection(PICKLIST_CUSTOM, False, database.server, database.filepath, "Stationery", "Vorlage wählen", "Wählen Sie bitte eine Vorlage für das neue Memo.")
If Not(collection Is Nothing) Then '//User may have cancelled
Set noteCursorDoc = collection.getfirstdocument
If Not noteCursorDoc Is Nothing Then
Dim doc As NotesDocument
Dim it As NotesItem
Set doc = database.CreateDocument
Call noteCursorDoc.copyAllItems(doc)
Set it = doc.GetFirstItem("IsMailStationery")
If Not it Is Nothing Then Call it.Remove
Set noteUIEditDocument = uiws.Editdocument(True, doc)
'Set noteUIEditDocument = uiws.Editdocument(False, noteCursorDoc)
End If
End If
Exit Sub
End Sub
Wer's brauchen kann - viel Vergnügen