Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi VBA SendMail nach Delphi konvertieren - brauche Hilfe (https://www.delphipraxis.net/153807-vba-sendmail-nach-delphi-konvertieren-brauche-hilfe.html)

Piro 17. Aug 2010 06:40

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:
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
Ist das machbar?

Gruß, Sven

mkinzler 17. Aug 2010 06:49

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');
    ...

Piro 17. Aug 2010 08:15

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:
oRTitem.EMBEDOBJECT(1454, '', FileName);
Weiß einer was die Zahl bedeutet und welche Werte möglich sind?

Gruß, Sven

mkinzler 17. Aug 2010 09:07

AW: VBA SendMail nach Delphi konvertieren - brauche Hilfe
 
http://www-12.lotus.com/ldd/doc/lotu...2?OpenDocument

Piro 17. Aug 2010 10:09

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:

EMBED_ATTACHMENT
EMBED_OBJECT
EMBED_OBJECTLINK
die Rede.

mkinzler 17. Aug 2010 10:18

AW: VBA SendMail nach Delphi konvertieren - brauche Hilfe
 
Diese Konstanten werden auch irgendwo deklariert sein

1454 ist wohl EMBED_ATTACHMENT

http://www.experts-exchange.com/Prog..._11174671.html


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:48 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz