Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  SolidWorks
  VBA: E-Mail mit VBA verschicken

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SOLIDWORKS
  
AMB
Autor Thema:  VBA: E-Mail mit VBA verschicken (2011 mal gelesen)
Spirou85
Mitglied
Konstruktuer und CAD-Betreuer


Sehen Sie sich das Profil von Spirou85 an!   Senden Sie eine Private Message an Spirou85  Schreiben Sie einen Gästebucheintrag für Spirou85

Beiträge: 70
Registriert: 01.12.2014

HP ZBook 15 G5
Intel Xeon 2,9 GHz - 32GB Ram
NVIDIA Quadro P2000M
Windows 10 Pro 64Bit Version 1809
Build 17763.1098
SWX2020-64Bit-SP1.0
MaxxDB 2020 SP0.06
DraftSight Enterprise 2019 x64 SP3
3DCONNEXION SpaceMouse Enterprise mit CadMouse

erstellt am: 14. Apr. 2015 14:12    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Makroexperten,

hat jemand von Euch schon mal per VBA E-Mails verschickt? Hintergrund ist, dass wir per Makro beim Speichern von Teilen deren Abmessungen prüfen und mit einer Liste von Lagermaterial gegenchecken. Ist das Material nicht auf dieser Liste dann soll eine Mail verschickt werden damit dieses Material rechtzeitig beschafft werden kann. Hab in der API-Hilfe gesucht aber nichts gefunden.
Vielleicht gibts ja was und ich habe es nur nicht gefunden. Oder muss ich ne Verknüpfung zu Outlook machen und dann Outlook von SWX aus steuern um meine Mail zu verschicken?

------------------
Viele Grüße aus Brackenheim

Lars Pauly

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

bk.sc
Ehrenmitglied V.I.P. h.c.
Konstrukteur Sondermaschinenbau



Sehen Sie sich das Profil von bk.sc an!   Senden Sie eine Private Message an bk.sc  Schreiben Sie einen Gästebucheintrag für bk.sc

Beiträge: 2776
Registriert: 18.07.2012

-Solid Works 2019 SP5
-Pro Engineer WF 3

erstellt am: 14. Apr. 2015 14:33    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Spirou85 10 Unities + Antwort hilfreich

Hallo Lars,

also eine reine SolidWorks Funktion gibt es zum Mail versenden nicht nur eine vom EPDM, hier musst du wohl aus der SolidWorks VBA auf die von Outlook oder ähnlichem zugreiffen.

Gruß
Bernd

------------------
--- Man muß nicht alles wissen, man muß nur wissen wo es steht ---

Staatlich anerkannte Deutschniete 

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Bernd Knab
Mitglied



Sehen Sie sich das Profil von Bernd Knab an!   Senden Sie eine Private Message an Bernd Knab  Schreiben Sie einen Gästebucheintrag für Bernd Knab

Beiträge: 373
Registriert: 16.01.2001

SWX 2020 SP5.0

erstellt am: 14. Apr. 2015 14:47    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Spirou85 10 Unities + Antwort hilfreich

Hallo Lars,

wir verwenden dazu blat.
Ist ein kleines Mail Programm, welches über Kommandozeile gesteuert wird. Ist schlank und schnell.
Wir steuern dies vom VBA Makro aus mit folgendem Code an:

Const AppMail = "S:\Programmeblat\full\blat.exe"
Const subjecttext = "S:\Programme\mail_subject.txt"
Const bodytext = "S:\Programme\mail_body.txt"
Const bodytexterror = "S:\Programme\mail_body_error.txt"
Const signaturetext = "S:\Programme\mail_signature.txt"
Const EmailAdmin = "bernd.knab@polyrack.com"

Sub MailVersenden()

  Dim OldDir$, hProcess&, Result&, Task&, l&, x&
 
  Dim FileNrBody As Integer
  Dim FileNrBodyNew As Integer
  Dim Text As String
 
  If ExportErstellt = True Then
 
    BodytextNew = ExportDir & Katalognummer & ".txt"
 
    FileNrBody = FreeFile
    Open bodytext For Input As #FileNrBody
    FileNrBodyNew = FreeFile
    Open BodytextNew For Append As #FileNrBodyNew
        Do While Not EOF(FileNrBody)
            Line Input #FileNrBody, Text
            Print #FileNrBodyNew, Text
        Loop
        Print #FileNrBodyNew, Katalognummer & ".zip"
    Close #FileNrBody
    Close #FileNrBodyNew
       
    Task = Shell(AppMail & " -to " & EmailKunde & " -sf " & subjecttext & " -bodyf " & BodytextNew & " -sig " & signaturetext & " -attach " & ZipFilename, vbHide)
 
  Else
    Task = Shell(AppMail & " -to " & EmailKunde & " -sf " & subjecttext & " -bodyf " & bodytexterror & " -sig " & signaturetext, vbHide)
    Task = Shell(AppMail & " -to " & EmailAdmin & " -subject Error_Internetdownload -body " & Katalognummer & " -attach " & ReplyFile & "," & RequestFile, vbHide)
 
  End If
 
    hProcess = OpenProcess(SYNCHRONIZE, False, Task)
    Result = WaitForSingleObject(hProcess, INFINITE)
    Result = CloseHandle(hProcess)

End Sub

Vielleicht hilft dies.

Gruß Bernd

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Thisoft
Mitglied
Konstrukteur


Sehen Sie sich das Profil von Thisoft an!   Senden Sie eine Private Message an Thisoft  Schreiben Sie einen Gästebucheintrag für Thisoft

Beiträge: 178
Registriert: 10.04.2010

erstellt am: 14. Apr. 2015 15:09    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Spirou85 10 Unities + Antwort hilfreich

Hallo Lars,

unter VB.Net ("neue Makros") und Exchange-Server in der Domäne geht das auch ganz komfortabel so:

Code:
Imports System.Net.Mail
Imports System.Net
Imports System.Text.RegularExpressions

Module Module1

    Public Function SendMail(Betreff As String, Inhalt As String) As Boolean
        Try
            Dim myClient As New Net.Mail.SmtpClient("FQDN des Exchange-Servers")
            myClient.Credentials = New Net.NetworkCredential("Benutzer", "Passwort")
            Dim myMail As New MailMessage
            myMail.To.Add("name@firma.xx")
            myMail.From = New MailAddress("absender@firma.xx")
            myMail.Subject = Betreff
            myMail.Body = Inhalt
            myClient.Send(myMail)
            SendMail = True
        Catch e As Exception
            MsgBox(e.Message)
            Return False
        End Try
    End Function


Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

nahe
Ehrenmitglied



Sehen Sie sich das Profil von nahe an!   Senden Sie eine Private Message an nahe  Schreiben Sie einen Gästebucheintrag für nahe

Beiträge: 1747
Registriert: 18.01.2001

arbeite mit:
Dell Precision 7750
i7 2,6 GHz 6 Kerne
32GB RAM
512GB SSD
NVIDIA Quadro RTX 4000
------------------------
SWX-2020 SP5.0
EPDM
----------------
Windows 10
----------------
VB.net
VB
VBA
ein wenig Swift am Mac

erstellt am: 14. Apr. 2015 15:55    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Spirou85 10 Unities + Antwort hilfreich

Hallo Lars

ich würde mir das ansehen
http://www.emde-it-loesungen.de/techtalk/microsoft-access/automatisch-e-mails-versenden-mit-cdo.html

damit solltest Du vom Mail-Client unabhängig sein

------------------
Grüße
Heinz

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Spirou85
Mitglied
Konstruktuer und CAD-Betreuer


Sehen Sie sich das Profil von Spirou85 an!   Senden Sie eine Private Message an Spirou85  Schreiben Sie einen Gästebucheintrag für Spirou85

Beiträge: 70
Registriert: 01.12.2014

HP ZBook 15 G5
Intel Xeon 2,9 GHz - 32GB Ram
NVIDIA Quadro P2000M
Windows 10 Pro 64Bit Version 1809
Build 17763.1098
SWX2020-64Bit-SP1.0
MaxxDB 2020 SP0.06
DraftSight Enterprise 2019 x64 SP3
3DCONNEXION SpaceMouse Enterprise mit CadMouse

erstellt am: 15. Apr. 2015 11:12    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Zusammen,

Vielen Dank für die schnellen Antworten. Habe die Version von nahe versucht da dies direkt in VBA ohne externes Programm funktioniert. Und über diese CDO-Schnittstelle hat es dann auch nach Anpassungen funktioniert. Damit ist mir gut geholfen worden.

Also Vielen Dank nochmal für die Hilfen.

------------------
Viele Grüße aus Brackenheim

Lars Pauly

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2024 CAD.de | Impressum | Datenschutz