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.

Excel VBA (Makro) Dateiname mit Zelle verknüpfen
#1
Hi, ich bräuchte eure Hilfe ^^

Und zwar hab ich eine Excel Datei erstellt und per VBA (Makro) eine Funktion hinzugefügt, der mir die Datei automatisch als PDF in eine Email Anhängt und gleichzeitig als PDF im Ordner abspeichert.

Mein Problem: ich will das der Dateiname, der in dem Ordner hinzugefügt wird mit einer Zelle verknüpft wird. Also wenn in Zelle A1 z.b. test123 steht, soll die Datei test123.pdf heißen.

Die Zelle A1 ist aber in einem anderen Tabellenblatt (z.b Tabellenblatt 2) und die Datei die gespeichert wird ist im Tabellenblatt 1.

Bis jetzt hab ich folgendes geschrieben:


Code:
Eigene()

ChDir "G:\, Huda\Neuer Ordner"

ActiveSheet.ExportAsFixedFormat Type:=x1TypePDF, Filename:= _
" G:\, Huda\Neuer Ordner \Datei.pdf", OpenAfterPublish:=False

Dim Outlook As Object

Dim OutlookMailItem As Object

Dim myAttachments As Object

Set OutlookApp = CreateObject("outlook.application")

Set OutlookMailItem = OutlookApp.CreateItem(0)

Set myAttachments = OutlookMailItem.Attachments

With OutlookMailItem

.To = ActiveWorkbook.Sheets("Info für E-Mail").Cells(1, 2).Value

.Subject = ActiveWorkbook.Sheets("Info für E-Mail").Cells(3, 2).Value

.Body = ActiveWorkbook.Sheets("Info für E-Mail").Cells(2, 2).Value

myAttachments.Add " G:\, Huda\Neuer Ordner \Datei.pdf "

.Display
Antworten Top
#2
Hallo,

Code:
ActiveSheet.ExportAsFixedFormat Type:=x1TypePDF, Filename:= _
" G:\, Huda\Neuer Ordner \" & Worksheets(2).Range("A1").Text, OpenAfterPublish:=False
Gruß Stefan
Win 10 / Office 2016
Antworten Top
#3
Heart 
uii danke für die sau schnelle Antwort ^^

nachdem ich das eingegeben haben, fing er in der letzte Zeile an zu meckern.

und zwar bei

myAttachments.Add " G:\, Huda\Neuer Ordner \Datei.pdf "

--> Fehlermeldung: Der Dateiname ist nicht im Ordner zu finden und ich solle den Dateipfad prüfen :(
Antworten Top
#4
Hallo,

wenn Du es oben änderst, musst Du es unten genauso machen.

Code:
myAttachments.Add "G:\, Huda\Neuer Ordner \" & & Worksheets(2).Range("A1").Text & ".pdf"
Gruß Stefan
Win 10 / Office 2016
Antworten Top
#5
ohhh ja stimmt das werde ich dann gleich mal testen.

ne andere Frage:

was muss ich umändern, wenn ich ein anderes Tabellenblatt nehme?

Also bei der E-Mail Eigenschaft:
.To = ActiveWorkbook.Sheets("Info für E-Mail").Cells(1, 2).Value

.Subject = ActiveWorkbook.Sheets("Info für E-Mail").Cells(3, 2).Value

.Body = ActiveWorkbook.Sheets("Info für E-Mail").Cells(2, 2).Value

beziehe ich mich ja auf "Info für E-Mail", und bei der Formel von dir sehe ich keinen Bezug. Ist es das "Worksheets(2)"? sry für die Frage, bin ziemlich neu bei dem Zeug :(
Antworten Top
#6
Hallo,

(29.08.2019, 19:49)Huda schrieb: was muss ich umändern, wenn ich ein anderes Tabellenblatt nehme?

.Body = ActiveWorkbook.Sheets("Info für E-Mail").Cells(2, 2).Value

beziehe ich mich ja auf "Info für E-Mail", und bei der Formel von dir sehe ich keinen Bezug. Ist es das "Worksheets(2)"? sry für die Frage, bin ziemlich neu bei dem Zeug :(

wenn das Tabellenblatt "Info für E-Mail" das zweite in der Reihe ist, ja, denn ich habe mich bei meinen Vorschlag auf deine Aussage

Zitat:Die Zelle A1 ist aber in einem anderen Tabellenblatt (z.b Tabellenblatt 2) und die Datei die gespeichert wird ist im Tabellenblatt 1.

bezogen. Das du einen Tabellenblattnamen im Code hattest habe ich gar nicht gesehen. Wenn Du es abändern willst, bzw. für Dich besser verständlich ist, nimm den Tabellennamen.
Gruß Stefan
Win 10 / Office 2016
Antworten Top
#7
ah stimmt... das es sich auf das "zweite" Tabellenblatt bezieht hätte ich auch selbst drauf kommen können ^^ Danke für deine Hilfe
Antworten Top


Gehe zu:


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