Registriert seit: 09.08.2019
Version(en): Office 2019
12.08.2019, 11:57
(Dieser Beitrag wurde zuletzt bearbeitet: 12.08.2019, 11:57 von sawosch.)
Hallo :)
Ich habe eine Excel mit 2 Seiten, möchte aber das die zweite Seite nur gespeichert wird sollte in Feld H83 eine Zahl grösser als 0 stehen und am liebsten als PDF auf einem Netzwerkpfad. Ich habe keine Ahnung ob dies überhaupt machbar ist.

Die Steigerung, sollte das möglich sein, wäre dann das dass PDF direkt in einem Mail geöffnet wird.
Vielen Dank bereits im voraus.
Gruss
Registriert seit: 10.04.2014
Version(en): Office 2007, 2016, Win 10 64 bit
Hi,
schon mal die Suchenfunktion des Forums genutzt?
Speichern als PDF kommt ja häufig und die Bedingungen dort einzubauen, sollte kein Problem darstellen.
Mit freundlichen Grüßen :)
Michael
Registriert seit: 08.10.2017
Version(en): 2016
Ja, ist machbar
wir bräuchten nur mehr Infos z.B. eine Beispieldatei und den Bereich der als PDF gespeichert werden soll. Außerdem kann die PDF im Netzwerkordner automatisch einen Namen bekommen.
vllt kriegst du das aber auch mithilfe von GIDF hin (Google ist dein Freund)
Registriert seit: 09.08.2019
Version(en): Office 2019
Hallo :)
Ich habe nun Google und Forum intensiv durchforstet und konnte mir einen Code zusammenbasteln. Allerdings komme ich nun wirklich nicht drauf wie ich dem Code sagen kann das er mir die zweite Seite nur als pdf generieren soll wenn in Zelle H83 eine Zahl >0 steht. Ich hoffe hierbei darf ich auf euer Fachwissen zählen:
Code:
Sub PDF_per_EMail()
'** Dimensionierung der Variablen
Dim strPDF As String
Dim OutlookApp As Object, strEmail As Object
'** Vorgaben definieren
Set OutlookApp = CreateObject("Outlook.Application")
Set strEmail = OutlookApp.CreateItem(0)
'** Zeilenhöhe automatisch anpassen
ActiveSheet.Range("c25:c99").Rows.EntireRow.AutoFit
'** PDF erzeugen
ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, Filename:="\\Netzwerkpfad\" & "Offerte" & "_" & Range("C18") & ".pdf", _
Quality:=xlQualityStandard, IncludeDocProperties:=False, IgnorePrintAreas:=False, from:=1, To:=2, OpenAfterPublish:=True _
'** E-Mail versenden
strPDF = "\\Netzwerkpfad\" & "Offerte" & "_" & Range("C18") & ".pdf"
With strEmail
.To = "info@mail.ch"
.Subject = "PDF als Anlage" 'Betreffzeile
.body = "Als Anlage die PDF-Datei"
.Attachments.Add strPDF
.Display
'.Send 'Damit wir die E-Mail sofort versendet
Kill strPDF
End With
'** Objektvariablen wieder löschen
Set OutlookApp = Nothing
Set strEmail = Nothing
End Sub
Irgendwie müsste bei "... from:=1, To:=2..." etwas wie "if H83>0" hin aber da komme ich nun auch mit meinen Recherchen nicht weiter.
00202
Nicht registrierter Gast
Hallo, :19:
du hast also
2 Tabellenblätter und möchtest das
zweite Blatt als PDF speichern und versenden: :21:
Code:
Option Explicit
Sub PDF_per_EMail()
Dim strPDF As String
Dim OutlookApp As Object, strEmail As Object
' Hier den Pfad anpassen!!!!!!!
Const strPath As String = "C:\Temp\Offerte_"
With ThisWorkbook.Worksheets(2)
If IsNumeric(.Range("H83").Value) And .Range("H83").Value > 0 Then
.Range("c25:c99").Rows.EntireRow.AutoFit
.ExportAsFixedFormat Type:=xlTypePDF, Filename:=strPath & .Range("C18") & ".pdf", _
Quality:=xlQualityStandard, IncludeDocProperties:=False, IgnorePrintAreas:=False, OpenAfterPublish:=False
Set OutlookApp = CreateObject("Outlook.Application")
Set strEmail = OutlookApp.CreateItem(0)
strPDF = strPath & .Range("C18") & ".pdf"
With strEmail
.To = "info@mail.ch"
.Subject = "PDF als Anlage" 'Betreffzeile
.Body = "Als Anlage die PDF-Datei"
.Attachments.Add strPDF
.Display
'.Send 'Damit wir die E-Mail sofort versendet
Kill strPDF
End With
End If
End With
Set OutlookApp = Nothing
Set strEmail = Nothing
End Sub
Wenn es ein
anderes Tabellenblatt ist
kannst du
z. B. auch so
schreiben: :21:
Code:
With ThisWorkbook.Worksheets("Tabelle2")
Den
Namen gegebenenfalls anpassen.
Wenn du mit "
Kill" arbeiten möchtest, dann aber
nicht mit "
OpenAfterPublish:=True" - das knallt,
wenn du eine Datei
löschen möchtest, die noch im
PDF-Reader offen ist.
Infos auch hier: :21:
Workbook.ExportAsFixedFormat...Worksheet.ExportAsFixedFormat...
Folgende(r) 1 Nutzer sagt Danke an Gast für diesen Beitrag:1 Nutzer sagt Danke an Gast für diesen Beitrag 28
• sawosch