![]() |
VBA SendMail nach Delphi konvertieren - brauche Hilfe
Moin zusammen,
ich habe einen VBA Code, den ich gerne nach Delphi konvertieren möchte. Mich würde mal interessieren, ob das geht und wenn ja, wie der Delphi Code auszusehen hat.
Code:
Ist das machbar?
Function Mail_senden(sSubject As String, sMail As String, sFile() As String, bShow As Boolean) As Boolean
'******************************************************************* '* sFile() starts at 1 '******************************************************************* Dim oSession As Object 'Notes Session Dim oDB As Object 'Notes Datenbank Dim oDoc As Object 'Notes Document Dim oRTitem As Object 'Notes RichText Item Dim oWS As Object 'Notes Workspace Dim sMailserver As String Dim sMailFile As String Dim i As Integer Dim fso As New FileSystemObject Mail_senden = True On Error Resume Next Set oSession = CreateObject("Notes.Notessession") If Err = 0 Then sMailserver = oSession.GETENVIRONMENTSTRING("Mailserver", True) sMailFile = oSession.GETENVIRONMENTSTRING("Mailfile", True) Set oDB = oSession.GETDATABASE(sMailserver, sMailFile) Set oDoc = oDB.CREATEDOCUMENT oDoc.SendTo = sMail oDoc.subject = sSubject oDoc.Form = "Memo" Set oRTitem = oDoc.CREATERICHTEXTITEM("Body") For i = 1 To UBound(sFile()) If sFile(i) <> "" Then Call oRTitem.EMBEDOBJECT(1454, "", sFile(i)) End If Next i If bShow Then Set oWS = CreateObject("Notes.NotesUIWorkspace") Call oWS.OpenDatabase(sMailserver, sMailFile) Call oWS.EDITDOCUMENT(True, oDoc) Else Call oDoc.SEND(False) End If Else MsgBox "Kein Lotus Notes auf diesem PC gefunden.", vbCritical Mail_senden = False End If End Function Gruß, Sven |
AW: VBA SendMail nach Delphi konvertieren - brauche Hilfe
Scheint ja normale COM/OLE-Automation zu sein. Sollte alo problemlos möglich sein:
Delphi-Quellcode:
uses ... ComObj;
var oSession: OleVariant; //Notes Session ... oSession = CreateOleObject('Notes.Notessession'); ... |
AW: VBA SendMail nach Delphi konvertieren - brauche Hilfe
Hier mein Lösung:
Delphi-Quellcode:
procedure SendMailLotusNotes(const Subject, FileName, SenderEMail: String);
var oSession : OleVariant; // Notes Session oDB : OleVariant; // Notes Datenbank oDoc : OleVariant; // Notes Document oRTitem : OleVariant; // Notes RichText Item oWS : OleVariant; // Notes Workspace sMailserver : String; sMailFile : String; begin oSession := CreateOleObject('Notes.Notessession'); sMailserver := oSession.GETENVIRONMENTSTRING('Mailserver', True); sMailFile := oSession.GETENVIRONMENTSTRING('Mailfile', True); oDB := oSession.GETDATABASE(sMailserver, sMailFile); oDoc := oDB.CREATEDOCUMENT; oDoc.SendTo := SenderEMail; oDoc.subject := Subject; oDoc.Form := 'Memo'; oRTitem := oDoc.CREATERICHTEXTITEM('Body'); oRTitem.EMBEDOBJECT(1454, '', FileName); oWS := CreateOleObject('Notes.NotesUIWorkspace'); oWS.OpenDatabase(sMailserver, sMailFile); oWS.EDITDOCUMENT(True, oDoc); // Direkter Versand // oDoc.SEND(False) end;
Code:
Weiß einer was die Zahl bedeutet und welche Werte möglich sind?
oRTitem.EMBEDOBJECT(1454, '', FileName);
Gruß, Sven |
AW: VBA SendMail nach Delphi konvertieren - brauche Hilfe
|
AW: VBA SendMail nach Delphi konvertieren - brauche Hilfe
Interessante Seite aber wie bekomme ich jetzt die Zahl ausgewertet. Auf dem IBM seite ist ja nur von
Zitat:
|
AW: VBA SendMail nach Delphi konvertieren - brauche Hilfe
Diese Konstanten werden auch irgendwo deklariert sein
1454 ist wohl EMBED_ATTACHMENT ![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:35 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz