Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

VBA - pdf-Dateiname aus Zellenwert

VBA - pdf-Dateiname aus Zellenwert
28.01.2014 15:44:42
Frank
Hallo,
bin neu hier und benötige Hilfe.
Bin schon Stunden an meinem Makro dran, es will mir nicht gelingen.
VBA-Kenntnisse sind NICHT vorhanden, das Untengeschriebene habe ich mir z.T. kopiert und so an mein Anliegen angepasst.
Ich möchte jedoch eine Änderung vornehme, die mir einfach nicht gelingen will!
Ich möchte den Dateinamen der pdf aus einer Zelle heraus übernehmen.
Folgendes: Innerhalb unseres Betrieb's müssen wir zum Enden ein jeden Monats unsere Stunden diversen Arbeiten zugeordnet an mien Kollegin übermitteln.
Zudem drucke ich mir immer noch ein Excemplar selber aus.
Das klappt schon hervorragend.
Da ich diese Tabelle den anderen Kollegen zur Verfügung stellen möchte, sollen einige, den Kollegen angepasste, Werte aus bestimmten Zellen Verwendung finden.
Insbesonders möchte ich dem Dateinamen der PDF den Text einer Zelle zufügen.
Ich bekomme es nicht hin! Immer wieder erhalte ich die Fehlermeldung ".Attachments.Add pdfName"
Wie müssen die Befehle lauten: (so klappt es nicht)
pdfName = ThisWorkbook.Path & "\Stundenzuordnung " & Sheets("Stundenzurodnung_zur_Zeiterfassung").Range("C3")&".pdf", Quality:=xlQualityStandard _
, IncludeDocProperties:=False, IgnorePrintAreas:=False, OpenAfterPublish _
:=False
Welchen genauen Befehl muss ich in die Befele einfügen, damit es funktioniert?
Ich wäre Dankbar für EURE HILFE
Gruß
Frank
Ich habe ff. versucht:
FUNTIONIERENDER Befehl
_____________________________________________

Sub send_n_print()
Dim pdfName As String
Dim MyOutApp As Object, MyMessage As Object
Sheets("Stundenzurodnung_zur_Zeiterfassung").ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
_
_
_
pdfName = ThisWorkbook.Path & "\Stundenzuordnung.pdf", Quality:=xlQualityStandard _
, IncludeDocProperties:=False, IgnorePrintAreas:=False, OpenAfterPublish _
:=False
pdfName = ThisWorkbook.Path & "\Stundenzuordnung.pdf"
Set MyOutApp = CreateObject("Outlook.Application")
Set MyMessage = MyOutApp.CreateItem(0)
With MyMessage
.To = "Kollegin@nports.de"
.Subject = "Stundenzuordnung für " & Sheets("Stundenzurodnung_zur_Zeiterfassung").Range( _
_
_
"C3").Text 'Betreffzeile
.body = "Hallo Frau Kollegin "& vbCrLf & "" & vbCrLf & "anbei übersende ich Dir meine    _
_
_
Stundenzuordnung vom vergangenen Monat" & vbCrLf & "" & vbCrLf & "Liebe Grüße" & vbCrLf & " _
Frank"
.Attachments.Add pdfName
.Display
'.Send
'.Kill pdfName
End With
Set MyOutApp = Nothing
Set MyMessage = Nothing
Sheets("für_eigene_Unterlagen").PrintOut Copies:=1, Collate:=True
End Sub

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA - pdf-Dateiname aus Zellenwert
28.01.2014 16:19:41
mumpel
Hallo!
Da fehlt ein Backslash hinter "Stundenzuordnung". Versuch es mit pdfName = ThisWorkbook.Path & "\Stundenzuordnung\" .....
Gruß, René

AW: VBA - pdf-Dateiname aus Zellenwert
28.01.2014 16:23:24
KlausF
Hallo Frank,
der Name aus C3 sollte vorher einer Variablen übergeben werden:
Schreibe unter Dim pdfName As String
Dim strName As String
strName = Sheets("Stundenzuordnung_zur_Zeiterfassung").Range("C3").Value
Und der Befehl, der nicht klappt sollte heißen:
pdfName = ThisWorkbook.Path & "\Stundenzuordnung " & strName &".pdf", Quality:=xlQualityStandard _
, IncludeDocProperties:=False, IgnorePrintAreas:=False, OpenAfterPublish _
:=False
Ist ungetestet. Hoffe es hilft.
Gruß
Klaus
PS. By the way. Bei dir steht statt Stundenzuordnung: Stundenzurodnung

Anzeige
Nachtrag
28.01.2014 16:26:27
KlausF
... und René's Tipp beachten.
Gruß
Klaus

AW: VBA - pdf-Dateiname aus Zellenwert
28.01.2014 16:24:37
fcs
Hallo Frank,
es muss etwa wie folgt aussehen. In Zelle C3 dürfen dann keine Zeichen enthalten Sein, die für Dateinamen nicht zulässig sind.
Der Buchstabe im Blattnamen "Stundenzurodnung_zur_Zeiterfassung" ist so beabsichtigt?
Gruß
Franz
Sub send_n_print()
Dim pdfName As String
Dim MyOutApp As Object, MyMessage As Object
'    pdfName = ThisWorkbook.Path & "\Stundenzuordnung.pdf"
pdfName = ThisWorkbook.Path & "\Stundenzuordnung " _
& Sheets("Stundenzurodnung_zur_Zeiterfassung").Range("C3") & ".pdf"
Sheets("Stundenzurodnung_zur_Zeiterfassung").ExportAsFixedFormat Type:=xlTypePDF, _
Filename:=pdfName, Quality:=xlQualityStandard, _
IncludeDocProperties:=False, IgnorePrintAreas:=False, OpenAfterPublish:=False _
Set MyOutApp = CreateObject("Outlook.Application")
Set MyMessage = MyOutApp.CreateItem(0)
With MyMessage
.To = "Kollegin@nports.de"
.Subject = "Stundenzuordnung für " _
& Sheets("Stundenzurodnung_zur_Zeiterfassung").Range("C3").Text 'Betreffzeile
.body = "Hallo Frau Kollegin " & vbCrLf & "" & vbCrLf _
& "anbei übersende ich Dir meineStundenzuordnung vom vergangenen Monat" & _
vbCrLf & "" & vbCrLf & "Liebe Grüße" & vbCrLf & "Frank" 'den "Frank" anpassen!!
.Attachments.Add pdfName
.Display
'.Send
'.Kill pdfName
End With
Set MyOutApp = Nothing
Set MyMessage = Nothing
Sheets("für_eigene_Unterlagen").PrintOut Copies:=1, Collate:=True
End Sub

Anzeige

395 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige