Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

VBA E-mail senden
#1
Hallo

ich weis jetzt nicht recht in welche "gruppe" das Thema gehört.

Ich möchte eine in Word erstellte Datei per Makro als Mail versenden.

Also per "Oneklick"

-Neu e-mail öffnen
-Datei anhängen
-Empfänger einfügen
-ggf vorgefertigter Text in der Mail

im grunde funktioniert es hier mit:

jedoch weis ich nicht wo ich den Empfänger , Betreff und Text in der Mail vordefinieren kann.

Code:
Public Sub AttachToEmail()
Dim Outlook As Object
Dim Mail As Object
Dim Att As Object
Dim Fullname As String
Dim Dlg As Office.FileDialog
If ActiveDocument.Saved Then
Fullname = ActiveDocument.Fullname
Else
Set Dlg = Application.FileDialog(msoFileDialogSaveAs)
Dlg.Show
If Dlg.SelectedItems.Count Then
Fullname = Dlg.SelectedItems(1)
ActiveDocument.SaveAs Fullname
Else
Exit Sub
End If
End If
Set Outlook = GetObject(, "outlook.application")
Set Mail = Outlook.CreateItem(0)
Set Att = Mail.Attachments.Add(Fullname)
Mail.Subject = Att.DisplayName
Mail.Display
End Sub
Antworten Top
#2
Siehe Onlinehilfe: Mailitem

Empfänger: To
Betreff: Subject (wird im Code schon verwendet)
Text: Body (oder HTMLBody)
Hat Dir mein Beitrag geholfen? Dann hilf auch Du - mit einer Spende an Wikipediadie Tafeln oder aktion-deutschland-hilft.de
[-] Folgende(r) 1 Nutzer sagt Danke an EarlFred für diesen Beitrag:
  • Schrader
Antworten Top
#3
Danke,
 
gibt es die Möglichkeit über einen "Link" das Makro zu erzeugen und auszuführen?
 
Der Hintergrund ist dieser, es gibt eine Word Datei die von jedem verwendet werden kann.
In dieser Datei ist auch eine E-Mail xyz hinterlegt.
 
Mein Gedanke War....
Datei öffnen .... Datei Bearbeiten...Datei Speichern...Auf die E-Mail Adresse Klicken ...und Zack wir deine neue Mail geöffnet mit Anhang Betreff usw.....

Dies funktioniert ja wenn das Makro bei dem jeweiligen existiert, aber was mache ich wenn das Makro nicht worhanden ist?
Antworten Top
#4
Moin,

du kannst
a) die in Word eingebaute Freigabe per Mail -Funktion verwenden, dabei fehlt der vorausgefüllte betreff und die Zieladresse
b) einen Mailto-Link erstellen, dabei fehlt der Anhang
c) ein Makro programmieren und dieses verteilen, entweder mit der Datei selbst, oder über ein AddIn, das jeder haben soll. Dabei kannst du Empfänger, Anhang, Betreff und Text sehr flexibel gestalten.

Viele Grüße
derHöpp
[-] Folgende(r) 1 Nutzer sagt Danke an derHoepp für diesen Beitrag:
  • Schrader
Antworten Top
#5
Moin,
 
Variante 3 passt ganz gut (Also das das Makro direkt in der Datei schon hängt und als "docm" gespeichert),
 was mich nur wundert, wenn ich die Datei öffne (ungespeichert z.B. direkt als Anhang aus einer Mail), startet das Makro nicht, erst wenn ich die Datei lokal speichere
 
Gibt es einen Trick , damit das Makro "bedienbar" ist ohne vorher die Datei zu speichern?

Bis jetzt ist der Ablauf so(wenn Datei lokal gespeichert)
1x Klick auf die erzeugte Schaltfläche
dann kommt die Meldung " E-mail wird erstellt…"
Outlook Mail Fenster mit allen Daten und Anhängen öffnet sich
 
 
So Sieht mein Aktueller Code aus.

Code:
Option Explicit
Private Sub CommandButton1_Click()
MsgBox "E-mail an  MusterEmailadresse  wird erstellt"
Dim Outlook As Object
  Dim Mail As Object
  Dim Att As Object
  Dim Fullname As String
  Dim Dlg As Office.FileDialog
  If ActiveDocument.Saved Then
    Fullname = ActiveDocument.Fullname
  Else
    Set Dlg = Application.FileDialog(msoFileDialogSaveAs)
    Dlg.Show
    If Dlg.SelectedItems.Count Then
      Fullname = Dlg.SelectedItems(1)
      ActiveDocument.SaveAs Fullname
    Else
      Exit Sub
    End If
  End If
  Set Outlook = GetObject(, "outlook.application")
  Set Mail = Outlook.CreateItem(0)
  Set Att = Mail.Attachments.Add(Fullname)
  Mail.to = "MusterEmailadresse"
  Mail.Subject = "Aufnahme Reklamation / Beschwerde Zählerturnuswechsel"
  Mail.Display
End Sub
Antworten Top
#6
Hi,

zum Glück lässt sich vom Absender nicht beeinflussen, dass aktive Inhalte automatisch ausgeführt werden. Damit wird Makroviren Tür und Tor geöffnet.

Du kannst gegebenenfalls die Dateien signieren und die Signatur als vertrauenswürdig einstellen. Dabei kann ich aber leider nicht helfen, da mir die Erfahrung fehlt. Ich glaube aber, dass Ralf (der User RPP63 ) schonmal erwähnt hat, dass seine Organisation mit signierten Makros arbeitet.

Viele Grüße
derHöpp
Antworten Top
#7
Hi,

wenn die Word-Datei abgespeichert ist, wird mit dem Makro die Word-Datei angehängt.
Sollen die Empfänger tatsächlich die editierbare Word-Datei mit dem Makro bekommen?

Mir würde es gefallen, eine PDF-Datei auszuwählen, anzuhängen und zu verschicken.
Das Erstellen der PDF könnte auch noch mittels Makro erfolgen, am besten, ohne daß der Butten zu sehen ist.

Gruß Ralf
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste