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.

Datei umbenennen und mit Outlook senden
#11
(25.02.2018, 14:03)Kamilla schrieb: Das Makro welches die Bestellung jetzt zusammenfasst und in eine neue Arbeitsmappe verschiebt befindet sich in der Bestelldatei. Ich möchte nur dieses Makro erweitern, dass es gleich das erstellte Arbeitsblatt umbenennt und mit Outlook versendet.
Das lässt sich sicher machen. Aber: Eine bestehende, unbekannte Prozedur ergänzen mit dem vorhandenen Wissensstand ist nun doch etwas riskant und aufwändig. Poste doch mal die vorhandene Prozedur und wenn möglich die involvierten Arbeitsmappen. Vielleicht hilft das dann weiter.
Unten findest Du einen Code, der solche Tabellen verschickt. Aber damit kannst Du sicher nichts anfangen. Er soll Dir nur zeigen, dass "es geht" wenn man es richtig macht.
Code:
Sub versenden()
   Dim MyMessage As Object, MyOutApp As Object
   strQuelle = "Mitgliederliste"
   sngJahr = ThisWorkbook.Sheets("drucken_versenden").Range("C1")
   strErweiterung = VBA.Mid(ActiveWorkbook.Name, VBA.InStrRev(ThisWorkbook.Name, ".", -1))
   strDokument = strQuelle & " " & sngJahr & strErweiterung

   'prüfen, ob die Datenquelle geöffnet ist
   strFokus = "Mitgliederliste " & sngJahr & strErweiterung
   Datei_geöffnet_prüfen
   If bolDateiGeöffnet = True Then
       MsgBox "Eine Datei """ & strFokus & """ist geöffnet." & VBA.Chr(13) & VBA.Chr(10) & _
       "Schliesse bitte die Datei """ & strFokus & """ ." & VBA.Chr(13) & VBA.Chr(10) & _
       "Betätige noch einmal den """ & strCaption & """-Button."
       GoTo Endhandler
   End If
   
   'prüfen, ob die Datenquelle im Ordner "MITGLIEDERLISTE" vorhanden ist
   strPfad = VBA.Left(ThisWorkbook.Path, VBA.InStrRev(ThisWorkbook.Path, "\", -1) - 1) & "\" & VBA.UCase(VBA.Left(strFokus, VBA.InStr(strFokus, " ") - 1))
   strFile = strPfad & "\" & strFokus
   Quelle_vorhanden
   If bolQuelleExistiert = False Then
       MsgBox "Eine Datei """ & strFokus & """ im Verzeichnis " & VBA.Chr(13) & VBA.Chr(10) & _
       "" & strPfad & "" & VBA.Chr(13) & VBA.Chr(10) & _
       "gibt es nicht."
       GoTo Endhandler
   End If
   'Application.ScreenUpdating = False
   'Nachrichtenobject erstellen
   Dim Mldg, Stil, Titel, Hilfe, Ktxt, Antwort, Text1
   Mldg = "Wenn Du die Mail an alle Senioren verschicken willst" & VBA.Chr(13) & VBA.Chr(10) & _
       "klicke auf OK, andernfalls klicke auf Abbrechen und wähle die Adressen aus Deinem persönlichen Verzeichnis."
   Stil = vbOKCancel + vbDefaultButton2
   Titel = "Überprüfung des Ausdruckes"    ' Titel definieren.
   Antwort = MsgBox(Mldg, Stil, Titel, Hilfe, Ktxt)

   If Antwort = vbOK Then
       'die Adressen aus der Datenquelle "Mitgliederliste" komponieren
       Call strAdresse_komponieren
   Else
       'die Adressierung erfolgt von Hand
       strAdresse = ""
   End If
   Call AuflistenInhaltTEMPORAER_VERSAND
   Set MyOutApp = CreateObject("Outlook.Application")
   'Nachrichtenobject erstellen
   Set MyMessage = MyOutApp.CreateItem(0)
   'Application.ScreenUpdating = True
   'Application.ScreenUpdating = False
   With MyMessage
       'hier ist aus der Adressenliste der Empfängerstring zu komponieren
       .To = strAdresse
       '.To = "robertekunz@bluewin.ch" 'strAdresse   '"robertekunz@bluewin.ch" ';anton.hofmann@bluewin.ch"
       If strAdresse <> "" Then strMitteilung = "Mitteilung an die Seniorenturner" Else strMitteilung = ""
       .Subject = strMitteilung
       'Hier wird die temporär gespeicherte Datei als
       'Attachment zugefügt
       On Error Resume Next
       If AWS1 <> "" Then .Attachments.Add AWS1
       If AWS2 <> "" Then .Attachments.Add AWS2
       If AWS3 <> "" Then .Attachments.Add AWS3
       If AWS4 <> "" Then .Attachments.Add AWS4
       If AWS5 <> "" Then .Attachments.Add AWS5
       If AWS6 <> "" Then .Attachments.Add AWS6
       
       'Hier wird eine normale Text Mail erstellt
       .Body = "Deine Mitteilung:"
       'Hier wird die HTML Mail erstellt
       '.HTMLBody = "Bitte den Anhang lesen und in einer für Dich geeigneten Form ablegen." & vbCrLf & _
                   "Dies ist ein Test: Turnprogramm Sommer 2011 per E-Mail. Bitte löschen! Es läuft schon fast automatisch."
       'Hier wird die Mail nochmals angezeigt
       
       .Display
           Kill AWS1
           Kill AWS2
           Kill AWS3
           Kill AWS4
           Kill AWS5
           Kill AWS6
   End With

   Set MyOutApp = Nothing
   Set MyMessage = Nothing
   Application.ScreenUpdating = True
Endhandler:
End Sub
Gruss

Ein Lob ist der Lohn
Ein Tadel der Ansporn
Antworten Top
#12
Ich denke ich habe mein Ziel noch immer nicht richtig formuliert.

Ich habe das Marko wie ich es jetzt benutze aufgezeichnet.
Jetzt sollte nur noch in der Mail die Adresse "[email=Bestellung@maxmustermann]Bestellung@maxmustermann[/email]" und im Betreff Bestellung stehen.


Sub Makro1()
'
' Makro1 Makro
'
'
    Sheets("Sendeformular").Select
    Sheets("Sendeformular").Copy Before:=Sheets(3)
    Sheets("Sendeformular (2)").Select
    Sheets("Sendeformular (2)").Name = "Bestellung"
    Sheets("Meyer").Select
    ActiveSheet.Range("$B$3:$AC$173").AutoFilter Field:=3, Criteria1:="<>"
    Range("B8:D426").Select
    Selection.Copy
    Sheets("Bestellung").Select
    Range("B5").Select
    ActiveSheet.Paste
    Sheets("Meyer").Select
    ActiveWindow.ScrollRow = 380
    ActiveWindow.ScrollRow = 374
    ActiveWindow.ScrollRow = 360
    ActiveWindow.ScrollRow = 321
    ActiveWindow.ScrollRow = 305
    ActiveWindow.ScrollRow = 280
    ActiveWindow.ScrollRow = 194
    ActiveWindow.ScrollRow = 57
    ActiveWindow.ScrollRow = 1
    ActiveSheet.Range("$B$3:$AC$173").AutoFilter Field:=3
    Columns("D:D").Select
    Application.CutCopyMode = False
    Selection.ClearContents
    Range("D4").Select
    Sheets("Bestellung").Select
    Range("D1").Select
    Sheets("Bestellung").Select
    Sheets("Bestellung").Move
    Application.Dialogs(xlDialogSendMail).Show
    ActiveWindow.Close
    Sheets("Meyer").Select
End Sub
Antworten Top
#13
(25.02.2018, 15:18)Kamilla schrieb: Ich habe das Marko wie ich es jetzt benutze aufgezeichnet.
Jetzt sollte nur noch in der Mail die Adresse "[email=Bestellung@maxmustermann]Bestellung@maxmustermann[/email]" und im Betreff Bestellung stehen.

Nun bin ich aber gespannt, ob sich hier jemand findet, der in diesen Code "nur noch die Mail - Adresse" (wie Du so locker schreibst) reinschreiben kann / will. M.E. könnte das eine nie endende  Story werden.
Gruss

Ein Lob ist der Lohn
Ein Tadel der Ansporn
Antworten Top
#14
Hallo Kamilla,

so gern, wie es mir leid tut ... so wird das jedenfalls nichts werden.
Denke mal in Ruhe drüber nach.
________________________________________________________________________
wer aufgibt, ohne es versucht zu haben, gibt einfach nur auf!

Grüße aus Norderstedt, Peter
Antworten Top


Gehe zu:


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