AtNotes Übersicht Willkommen Gast. Bitte einloggen oder registrieren.
10.08.20 - 01:55:20
Übersicht Hilfe Regeln Glossar Suche Einloggen Registrieren
News:
Schnellsuche:
+  Das Notes Forum
|-+  Lotus Notes / Domino Sonstiges
| |-+  OLE/COM-Programmierung
| | |-+  aus VBA drucken
« vorheriges nächstes »
Seiten: [1] Nach unten Drucken
Autor Thema: aus VBA drucken  (Gelesen 6365 mal)
oberh
Frischling
*
Offline Offline

Beiträge: 4


« am: 13.02.08 - 09:43:41 »

Guten Tag zusammen!

Ich versende aus VBA eine EMAIL mit folgendem Code, der auch funktioniert:

Code:
Public Function NotesMailNewDraft(strSendTo As Variant, strCopyTo As Variant, strSubject As Variant, strText As Variant, _
       strcc As Variant, strbcc As Variant, Mailanhang As String, boStatus As Boolean)

'   # Late-Binding
    Dim objNotesSession As Object, objNotesDB As Object, objNotesMailDoc As Object

    Dim SendItem, NCopyItem, BlindCopyToItem, i As Integer, rtitem
   
'   # Late-Binding
    Set objNotesSession = GetObject("", "Notes.Notessession")
    Set objNotesDB = objNotesSession.GetDatabase("", "")
   
    Call objNotesDB.OPENMAIL
   
    Set objNotesMailDoc = objNotesDB.CREATEDOCUMENT
    objNotesMailDoc.Form = "Memo"
    Call objNotesMailDoc.Save(True, False)
   
    Set SendItem = objNotesMailDoc.APPENDITEMVALUE("SendTo", "")
    Set NCopyItem = objNotesMailDoc.APPENDITEMVALUE("CopyTo", "")
    Set BlindCopyToItem = objNotesMailDoc.APPENDITEMVALUE("BlindCopyTo", "")
   
    objNotesMailDoc.SendTo = strSendTo
    objNotesMailDoc.CopyTo = strCopyTo
    objNotesMailDoc.Subject = strSubject
   
    Set rtitem = objNotesMailDoc.CreateRichTextItem("Body")
    objNotesMailDoc.Body = strText

    Call objNotesMailDoc.Save(True, False)
    objNotesMailDoc.RemoveItem ("DeliveredDate")
    Call objNotesMailDoc.Save(True, False)

    '''''''''''''' Dateianhang'''''''''''''''''
    Dim xy
    Dim EmbeddedObject As Object
    Dim mailanhang2, s As Variant
   
    If Right$(Mailanhang, 1) = ";" Then
        Mailanhang = Left$(Mailanhang, Len(Mailanhang) - 1)
    End If
   
    Const cdelim$ = ";"
    Const embed_ATT = 1454

    s = Split(Mailanhang, ";")

    For xy = LBound(s) To UBound(s)
        mailanhang2 = s(xy)
        Set rtitem = objNotesMailDoc.CreateRichTextItem(mailanhang2)
        Set EmbeddedObject = rtitem.EmbedObject(embed_ATT, "", mailanhang2, mailanhang2)
    Next xy
    ''''''''''''''''''''''''''''''''''''''''''

    Call objNotesMailDoc.Save(True, False)
   
    Select Case boStatus
        Case True
            objNotesMailDoc.PostedDate = Now()
            Call objNotesMailDoc.SEND(True, False)
           
            '# Hier eventuell noch ein PDF der Mail erstellen
'####################################################################
'####################################################################
'            MailPDFerstellen objNotesDB, objNotesSession, objNotesMailDoc

'####################################################################
            objNotesMailDoc.Remove (True)
            MsgBox "Die EMail wurde gesendet!", vbInformation, "Hinweis"
        Case False
            MsgBox "Die EMail wurde erfolgreich im Ordner Entwürfe erstellt!", vbInformation, "Hinweis"
    End Select
    Call objNotesSession.Close: Set objNotesSession = Nothing
    Set rtitem = Nothing
    Set EmbeddedObject = Nothing
    Set objNotesMailDoc = Nothing
    Set SendItem = Nothing
    Set NCopyItem = Nothing
    Set BlindCopyToItem = Nothing

    Set objNotesDB = Nothing

End Function

Nun habe ich ein Problem mit dem Objektmodell.
Die .Print Methode existiert nur zum NotesUIDocument.

Mit der Zeile
Code:
'MailPDFerstellen objNotesDB, objNotesSession, objNotesMailDoc

-->
'Public Sub MailPDFerstellen(ByVal objNotesDB As Object, ByVal objNotesSession As Object, ByVal objNotesMailDoc As Object)
wollte ich eine Prozedur aufrufen, die u.a. diese Zeile aufrufen soll:
Code:
objNotesMailDoc.Print (1)

Da das Objekt die Methode nicht unterstützt, kracht es hier.

Wie muss der obige Code abgeändert werden, damit dort ein NotesUIDocument erstellt wird?

Ich bedanke mich im Voraus
Olaf
Gespeichert
ata
Freund des Hauses!
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 5092


drenaiondrufflos


WWW
« Antworten #1 am: 13.02.08 - 11:24:33 »

... NotesUIDocument geht nicht per COM-Programmierung

Toni
Gespeichert

Grüßle Toni Smiley
oberh
Frischling
*
Offline Offline

Beiträge: 4


« Antworten #2 am: 13.02.08 - 11:31:58 »

Vielen Dank Toni.

Das ist zwar nicht das, was ich hören wollte ...  Grin

Dann werde ich mir wohl etwas anderes überlegen müssen.

Viele Grüße
Olaf

Mir ist da gerade noch eine Idee gekommen:
Könnte man denn von VBA aus einen Agenten mit entsprechendem Code erstellen, ihn ausführen und wieder löschen?
Geht das überhaupt, wenn man keinen Designer Client auf seinem Rechner hat?
« Letzte Änderung: 13.02.08 - 11:41:19 von oberh » Gespeichert
ata
Freund des Hauses!
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 5092


drenaiondrufflos


WWW
« Antworten #3 am: 13.02.08 - 14:59:36 »

... ne leider auch nicht - du brauchst einen Trigger für Frontend in LotusNotes - und der lässt sich per COM nicht nachbilden...

Toni
Gespeichert

Grüßle Toni Smiley
ata
Freund des Hauses!
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 5092


drenaiondrufflos


WWW
« Antworten #4 am: 13.02.08 - 15:02:04 »

... du könntest per VBA aber den Inhalt in ein Word-Doc schieben, dort kannst du dann ausdrucken...

Toni
Gespeichert

Grüßle Toni Smiley
oberh
Frischling
*
Offline Offline

Beiträge: 4


« Antworten #5 am: 13.02.08 - 15:03:16 »

Hi!

Hat ich mir schon gedacht. Sad

Nochmals danke.

Zitat
Dann werde ich mir wohl etwas anderes überlegen müssen.

Ups: Nachtrag: Ja, genau das hatte ich vor. Danke

Viele Grüße
Olaf
Gespeichert
ata
Freund des Hauses!
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 5092


drenaiondrufflos


WWW
« Antworten #6 am: 13.02.08 - 15:09:39 »

... eine andere Alternative zum Printen fällt mir auch nicht ein...

Toni
Gespeichert

Grüßle Toni Smiley
Ralf_M_Petter
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 1879


Jeder ist seines eigenen Glückes Schmied


WWW
« Antworten #7 am: 13.02.08 - 15:40:59 »

Warum verwendest du nicht statt Com einfach OLE, dann sollte es auch mit den Frontendklassen funktionieren?

Grüße

Ralf

P.S. Einschränkung ist halt, dass es Probleme geben kann wenn der Notesclient blockiert ist durch einen modalen Dialog z.B.

Gespeichert

Jede Menge Tipps und Tricks zu IT Themen findet Ihr auf meinem Blog  Everything about IT  Eine wahre Schatzkiste sind aber sicher die Beiträge zu meinem Lieblingsthema Tipps und Tricks zu IBM Notes/Domino Schaut doch einfach mal rein.
oberh
Frischling
*
Offline Offline

Beiträge: 4


« Antworten #8 am: 13.02.08 - 16:11:48 »

Hi Ralf!

Auch Dir danke.
Ich werde es einfach in einer Worddatei ablegen.

Die Dateien in der Mail werden aus Daten einer Access-DB bestückt.
Da diese Dateien und Daten aber im laufenden Betrieb ständig verändert werden können, wollten wir mit einer PDF-Datei im Moment des Versandes an einen Kostenträger diese Daten und Dateien festhalten.
Da meine Anwendung die Möglichkeit beherbergt, die Mail auch erst im Entwurf abzulegen, wird die o.g. Option auch weiterhin genutzt werden.

Tschüss
Olaf
Gespeichert
Seiten: [1] Nach oben Drucken 
« vorheriges nächstes »
Gehe zu:  


Einloggen mit Benutzername, Passwort und Sitzungslänge

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006, Simple Machines Prüfe XHTML 1.0 Prüfe CSS
Impressum Atnotes.de - Powered by Syslords Solutions - Datenschutz | Partner: