Autor Thema: Mail erstellen mit Vorlage  (Gelesen 2519 mal)

Offline OliverII

  • Frischling
  • *
  • Beiträge: 17
  • Geschlecht: Männlich
Mail erstellen mit Vorlage
« am: 13.08.13 - 17:16:50 »
Hallo zusammen,
habe ein Problem bei dem ich leider nicht weiter komme - deshalb brauche ich hilfe  :-:

Muss über die Mailschablone eine interne Mailvorlage zur Verfügung stellen.
Habe aus diesem Grund unten aufgeführten Befehlt getestet und funktioniert auch.
Problem ist jetzt, dass bei manchen Kollegen, die eine Signatur einfügen diese oben eingefügt und erst zum Schluss
die Vorlage angehängt wird.
Habe schon einiges Versucht - komme aber nicht weiter.........
Kann mir jemand evtl. hier eine Hilfestelleung geben - wollte es erst über die CoreEmailClasses_de-DE machen - jedoch fehtl mir hierzu das Wissen.
Zudem bekomme ich es in der CoreEmailClasses mit dem Befehl "RenderToItem" nicht bebacken bzw. zum Laufen.

Anbei der bisherige Script - wäre echt dankbar über jede Hilfe!!!
Grüße Olvier



Sub Click(Source As Button)
                 Dim ws As New NotesUIWorkspace
   Dim ses As New NotesSession
   Dim db As NotesDatabase
   Dim doc As NotesDocument
   Dim memo As NotesDocument
   Dim body As NotesRichtextItem
   Set db = ses.CurrentDatabase
   If Messagebox ("Wollen Sie die interne Mail-Vorlage verwenden?", 4 + 64, "Mit Vorlage?") = 6 Then
      Set doc = New NotesDocument( db )
      doc.Form = "xyzMailvorlage"
      Set memo = New NotesDocument( db )
      memo.Form = "Memo"
      Set body = New NotesRichtextItem( memo , "Body" )
      
      Call doc.RenderToRTItem( body )
            Call ws.EditDocument( True, memo )
   Else
      
   
   Dim workspace As New NotesUIWorkspace
   Call workspace.ComposeDocument( "", "", "memo" )
end if
« Letzte Änderung: 14.08.13 - 09:11:25 von OliverII »

Offline m3

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.102
  • Geschlecht: Männlich
  • Non ex transverso sed deorsum!
    • leyrers online pamphlet
Re: Mail erstellen mit Voralge
« Antwort #1 am: 13.08.13 - 17:43:33 »
Ich wuerde mit "CopyAllItems" das Notes Stationary ins neue Mail kopieren und dann mit
Code
RemoveItem ("IsMailStationery")
das eine stoerende Flag entfernen.

Wobei ich nicht ganz erkenne, wo Du in Deinem Code mit den Mailvorlagen/Stationary von Notes arbeitest.

Wo kommt denn z.B. die Form "xyzMailvorlage" her? Ist das eine Form, die ihr in die Standard-Mailschablone eingefuegt habt? Dann hat das nichts mehr mit den Mailvorlagen von Notes zu tun.

Eine etwas genauere/detaillierte Beschreibung inkl. Beschreibung des von Dir gewaehlten Loesungsansatzes und was bei euch unter "Mailvorlage" verstanden wird. waere hilfreich (ev. nicht unter Zeitdruck geschrieben, sodass ganze deutsche Saetze dabei rauskommen),
HTH
m³ aka. Martin -- leyrers online pamphlet | LEYON - All things Lotus (IBM Collaborations Solutions)

All programs evolve until they can send email.
Except Microsoft Exchange.
    - Memorable Quotes from Alt.Sysadmin.Recovery

"Lotus Notes ist wie ein Badezimmer, geht ohne Kacheln, aber nicht so gut." -- Peter Klett

"If there isn't at least a handful of solutions for any given problem, it isn't IBM"™ - @notessensai

Offline OliverII

  • Frischling
  • *
  • Beiträge: 17
  • Geschlecht: Männlich
Re: Mail erstellen mit Voralge
« Antwort #2 am: 14.08.13 - 06:24:56 »
Hallo M3,

danke für die schnelle Rückantwort!

Ich habe mir in das MailTemplate eine neues Maske mit dem Namen "xyzMailvorlage" erstellt. In dieser Maske sind meine Vorlagendaten enthalten (Tabelle).
Über den bestehenden Button - Neue Nachricht - habe ich das oben genannte script rein gehängt welches mir die "xyzMailvorlage" Vorlage in ein neues Mail einfügt.

Habe festgestellt, dass wenn ich in den Vorgaben die Option "Meine ausgehenden Mailnachrichten autom. mit Signatur versehen" aktiv habe, die Signatur immer vor meine Tabelle (Vorlage) eingefügt wird. Somit kommt erst die Signatur und erst dann die Tabelle (Vorlage). Würde jedoch gerne erst die Tabelle und erst dann die Vorlage haben wollen......

Grüße Oliver

Offline Keydins

  • Aktives Mitglied
  • ***
  • Beiträge: 163
  • Geschlecht: Männlich
Re: Mail erstellen mit Voralge
« Antwort #3 am: 14.08.13 - 08:20:26 »
Hallo Oliver,

das lieg vermutlich daran, dass unter anderem das Einfügen der Signatur im Queryopen Event des Memos angesteuert wird (Set cMemoObject = New UIMemoDocument). In der Scriptbibiliothek CoreEmailClasses sind die entsprechenden Einträge zu finden.

Das IBM-Script wechselt per Me.m_noteUIMemo.Gotofield("Body") in das Feld "Body" und fügt dann die Signatur ein. Die Hilfe sagt zwar nichts Näheres hinsichtlich der Positionierung beim GotoField-Befehl, aber ich würde vermuten, dass das Sprungziel immer der Anfang des Feldes ist und somit die Signatur vor deinem Mustertext landet.

Gruß
Dirk
Gruß Dirk

Aktuelle Notesumgebung
~800 BasicClients 9.0.1 FP9 SHF55
  10 FullClients 9.0.1 FP7 SHF143
    7 DominoServer 9.0.1 FP9 HF 139 / 64 Bit

Offline OliverII

  • Frischling
  • *
  • Beiträge: 17
  • Geschlecht: Männlich
Re: Mail erstellen mit Voralge
« Antwort #4 am: 14.08.13 - 09:11:07 »
Hallo zusammen,

habe mir nochmals Gedanken gemacht und den Hinweis von m3 verfolgt - stationary.

Würde jetzt in jedes Mailfile eine neue Vorlage erstellen mit dem Namen (Mailvorlage) - hierfür habe ich bereits eine Funktion.
Würde eine neue Ansicht im Template erstellen - erste Spalte sortiert - mit allen Stationary dokumenten.

Anschließend würde ich über den Button "neu" (Neue Mail) folgende Funktion hinzufügen:
If Messagebox ("Wollen Sie interne Mail vorlage verwenden?", 4 + 64, "Mit Vorlage?") = 6 Then
      Dim session As New NotesSession
      Dim db As NotesDatabase
      Dim view As NotesView   
      Dim doc As NotesDocument
      Set db = session.CurrentDatabase
      Set view = db.GetView( "Vorlage" )
      Set doc = view.GetDocumentByKey("MailVorlage", True )   
      Set ws = CreateObject("Notes.NotesUIWorkspace")
      Call ws.EDITDOCUMENT(True, doc)
   Else
      Dim workspace As New NotesUIWorkspace
      Call workspace.ComposeDocument( "", "", "memo" )
      
   End If

Ist die Funktionsweise ok - oder würdet Ihr dieses so nie machen? Problem besteht halt, dass mir ggf. jemand die Vorlage ändert - evtl. könnte ich diese auch aus der Vorlagenansicht löschen......?

Offline Keydins

  • Aktives Mitglied
  • ***
  • Beiträge: 163
  • Geschlecht: Männlich
Re: Mail erstellen mit Vorlage
« Antwort #5 am: 14.08.13 - 09:55:01 »
Es gibt bereits eine Ansicht mit Namen (Vorlage) | Stationery, auf diese Ansicht greift der Code im Standardschalter 'Neue Nachricht mit Vorlage' zu.

Vom Prinzip kannst du das Script vom Standard übernehmen und lediglich die Dokumentenauswahl über eine Collection mit Hilfe von 'Picklist' durch den direkten Aufruf deiner Vorlage ersetzen.

Die Verwendung des Standardverfahrens hat natürlich den Nachteil, dass die Benutzer die Vorlage grundsätzlich ändern und/oder löschen könnten. Die Frage ist dabei: Haben die User ein Interesse daran dies zu tun?

Grundsätzlich gilt: Wenn den Usern der Aufbau der Vorlage nicht gefällt, können sie die Änderungen ja in jedem Fall in der gerade geöffneten Mail vornehmen bzw. sie nutzen die Vorlage erst gar nicht.

    Möglichkeiten
    • Benenne die Vorlage 'Unternehmensvorlage - nicht löschen/ändern', um jedem zu verdeutlichen, dass er daran nicht rumfummeln soll.

    • Erstelle einen nächtlichen Agenten, der sicherstellt, dass die Vorlage in allen Maildatenbanken vorhanden ist. Der könnte sie auch jede Nacht durch das Original ersetzen, um ganz sicher zu gehen. Alternativ halt nur einfügen, wenn sie nicht vorhanden ist.

    Gruß
    Dirk
    Gruß Dirk

    Aktuelle Notesumgebung
    ~800 BasicClients 9.0.1 FP9 SHF55
      10 FullClients 9.0.1 FP7 SHF143
        7 DominoServer 9.0.1 FP9 HF 139 / 64 Bit

     

    Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz