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.

mehrere Tabellenblätter per Makro als PDF erzeugen und gleichzeitig per outlook vers.
#1
Hallo ihr lieben,

ich kämpfe mal wieder mit einem doing für meinen Job.

Ich habe 20 Tabellenblätter, die ich alle zusammen per makro als pdf erstellen und mit
differentem dateinamen jeweils per outlook in dem gleichen Arbeitsgang versenden möchte.
Theoretisch bräucht eich nur eine Tabelle in der ich jeweils den Namen des Mitarbeiters über den
Datenschnitt in der Povit änderer. Nur dann müsste excel dies alleine tun und den Namen aus dem
Datenschnitt auch als Dateiname übernhemen. Und ich glaube nicht das das geht oder ?

Kann mir da jemand helfen ? Ich habe noch nie ein Makro erstellt.
Den Namen und den Pfad würde ich gern in einer Zelle vorab definieren.
Möglich ist auch, den Dateinamen aus dem Tabellenbalttname zu nehmen wenn dies möglich ist.

Vielen Dank im Voraus.
Antworten Top
#2
Hi,

hatte ein ähnliches Problem, welches ich mit dem folgenden Code lösen konnte.

Code:
Sub pdftomail()


Dim app   As Object
  Dim file  As String
  Dim isNew As Boolean

  file = ActiveSheet.Range("D4") & ".pdf" 'vergibt den Dateinamen

  ActiveSheet.ExportAsFixedFormat xITypePDF, Environ("TEMP") & "\" & file

  On Error Resume Next
  Set app = GetObject(, "Outlook.Application")
  If app Is Nothing Then
     Set app = CreateObject("Outlook.Application")
     isNew = True
  End If

  With app.CreateItem(0)
     .To = "" 'Empfängermail
     .CC = ""
     .BCC = ""
     .Subject = ActiveSheet.Range("D4") & "zusätzliche Infos?"

     .Body = " Hier kannst Du Deiner Mail noch einen Text verpassen"

     .Attachments.Add Environ("TEMP") & "\" & file
     .Send 'Sendet die Mail direkt
     .Show 'Mail anzeigen & manuell verschicken
           
  End With

  If isNew Then app.Quit
End Sub

Der Code sendet Dir deine aktive Tabelle als Mail.

Gruß 
SteBen

___

Du müsstest Dir dann nur über Entwicklertools --> Einfügen --> Formularsteuerelement eine Schaltfläche pro Tabellenblatt anlegen & jeder Schlatfläche dann entsprechend dieses Makro zuweisen. Dann kannst Du per Klick auf diese Schlatfläche die jeweilige Mail generieren.
Antworten Top
#3
ok. super danke dir.

kann ich auch aus einer liste mehrer mailadressen auslesen lassen ?
wie sage ich in dem makro das ich mehrere tabellenblätter auswählen möchte?
kann das makro den Dateinamen anhand des Tabellen blattnahmens erstellen ?
kannst du mir da helfen ?

habe sent mal gelöscht weil ich mir die mailvorher anschauen wollte, nun passiert nichts mehr.
Antworten Top
#4
muß ich dann nicht auch 20 makros für 20 namen anlegen wegen der unterschiedlichen mail adresse ?
wie gesagt, show funktioniert leider nicht nur send. woran könnte das liegen ?
Antworten Top
#5
Hi,

sorry, Du musst .Show durch .Display ersetzen.

Was Deine übrigen Fragen betrifft, hat bestimmt der ein oder andere hier aus dem Forum mehr Ahnung.

hab mir das Makro für mich auch fast nur durch copy & paste erstellt.

Sorry

VG
SteBen

_______

Wenn Du allerdings pro Blatt ein Makro erstellt, kannst Du die Mailadressen im Makro selber ändern - das geht auch.
Antworten Top
#6
Hallo Kutte,

so was geht alles, dafür gibt es zB. Schleifen.

Hier mal was zum Testen:

Sub Makro1()
Dim blaetter As Worksheet
For Each blaetter in Worksheets
Msgbox blaetter.name
Next
End sub

Damit bekommst Du mehrere Meldungen, je nachdem, wie viele Blätter in der Datei sind. Statt der Meldung steht dann natürlich (d)ein E-Mail-Code in dem Du blaetter.name für den Dateinamen verwendest.

Usw.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top


Gehe zu:


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