Ich möchte per Makro das aktuelle Excel-Arbeitsblatt in ein PDF Datei umwandeln und dieses dann auto

Hallo zusammen,

ich habe folgendes Problem.

Ich möchte per Makro das aktuelle Excel-Arbeitsblatt in ein PDF Datei umwandeln und dieses dann automatisch in Outlook einfügen.
Dieser Vorgang gelingt mir schon, nur das anstatt einer PFD eine Excel 2007 xlxs erzeugt wird.

Vielleicht kann mir ja jemand helfen.

Danke schon mal.

Hier mal das schon vorhandene Makro:

’ Verweis auf Microsoft Outlook Bibliothek setzen
Dim objOL As Object
Dim objMail As Object
Dim Bezeichnung As String ’ 1) oder As Range
Dim EMailan As String ’ 2) oder As Range
Dim strName As String

Set objOL = CreateObject(„Outlook.Application“)
Set objMail = objOL.CreateItem(0)

'Set Bezeichnung = [Tabelle1!G27] ’ 1)
Bezeichnung = „Abnahmebescheinigung fehlt“

strName = ActiveWorkbook.Path & "\Typenliste Datum " _
& Format(Date, „DD.MM.YYYY“) & „.xlsx“
’ Range(„G38“).Value = strName

Application.ScreenUpdating = False
Sheets(„Mail“).Copy
ActiveWorkbook.SaveAs strName

With objMail
.Subject = Bezeichnung
.Body = „Sehr geehrte Damen und Herren,“ & vbCrLf & „“ & vbCrLf & „usw…“

.Attachments.Add ActiveWorkbook.FullName
.Display ’ Display für Indirektversand oder .Send für Direktversand
End With

ActiveWorkbook.Close
Kill (strName)

Application.Goto Sheets(„Mail“).Range(„A1“)
Application.ScreenUpdating = True

Sheets(„Serien“).Select

End Sub

Hallo Hasenmörder!

Tja, Makros sind nicht meine Stärke. Soweit ich weiß kann Excel 2007 von sich aus Dateien auch nicht als pdf speichern. Das kann es erst, wenn du Adobe Professional oder einen pdf-Creator deines Vertrauens installiert hast. Ich bin mir nicht sicher, könnte mir aber vorstellen, dass dies Auswirkungen auf die Vorgehensweise haben kann. Ich weiß nicht womit du deine Datei in pdf konvertierst. Microsoft schreibt jedoch zu diesem Thema im Handbuch auf Seite 234:

„PDF-Format und XPS
Im Untermenü des Befehls Speichern unter finden Sie den Befehl Add-Ins für andere Dateiformate
suchen. Führen Sie diesen Befehl aus, gelangen Sie zunächst zur Excel-Hilfe und von dort zu einer
Internetseite, von der ein Konverter für das PDF-Dateiformat heruntergeladen werden kann. Laden
Sie die Datei SaveAsPDFandXPS.exe herunter und führen Sie diese anschließend aus, wird ein
Add-In für das Speichern im PDF-Format installiert.“

Das hilft dir wahrscheinlich wenig weiter. Aber: Ich hätte eine Idee wo man - ähh, ich meine du - nachschauen könnte(st). Schicke mir bitte eine Mail an bumbumbale(äedt]gmx.de, da ich hier keine Links posten möchte. Ferner habe ich hoch mehrere Hundert Seiten pdf-Dokumente, die sich mit Excel-VBA beschäftigen. Die könnte ich für dich online stellen.

Gruß!
Humbug

Hallo,

tut mir leid bei diesen Problem kann ich leider nicht weiterhelfen.

Trotzdem viel Glück bei Lösung finden

Gruß,

Hallo, ich bin kein Exel-Experte, habe aber ein ähnliche Lösung unter Access gefunden.

Schau mal hier:
http://web.archive.org/web/20060206055551/dbwiki.de/…

Es gibt da eine Beispieldatenbank von Bastian Pinter.

Ein ganz herzlichen Dank.
Habe das Problem durch einen kleinen Tip lösen können.

Groß

HM

Hallo,

da excel selbst keine Möglichkeit hat ein PDF zu erstellen musst du auf jeden Fall über ein „Dritt“-Programm gehen (z.b. Adobe Acrobat).
Meiner Ansicht nach ist die einzige Möglichkeit das Dokument als „PDF“ zu drucken (die meisten PDF-Programme richten einen eigenen PDF-Drucker ein). Wobei man dann aber wieder auf ein Office-Problem stösst: soweit mir bekannt ist können Office-Makros nur auf dem Standarddrucker drucken.
( Senden an PDF(mit Adobe) funktioniert nur wenn kein Makro aktiv ist -> damit nicht möglich)
Ich hoffe dir damit zumindest einen Ansatz gegeben zu haben.

M.f.G. namina

Hi,

das sollte die PDF anstelle der XLSX Datei in die Outlook Mail anhängen.
Änderungen sind über Kommentar '## … kenntlich gemacht.

Gruß,

Michael

’ Verweis auf Microsoft Outlook Bibliothek setzen
Dim objOL As Object
Dim objMail As Object
Dim Bezeichnung As String ’ 1) oder As Range
Dim EMailan As String ’ 2) oder As Range
Dim strName As String
Dim pdfName As String '## PDF Dateiname

Set objOL = CreateObject(„Outlook.Application“)
Set objMail = objOL.CreateItem(0)

'Set Bezeichnung = [Tabelle1!G27] ’ 1)
Bezeichnung = „Abnahmebescheinigung fehlt“

strName = ActiveWorkbook.Path & "\Typenliste Datum " _
& Format(Date, „DD.MM.YYYY“) & „.xlsx“
’ Range(„G38“).Value = strName

Application.ScreenUpdating = False
Sheets(„Mail“).Copy
ActiveWorkbook.SaveAs strName

**’## PDF Datei steht im gleichen Verzeichnis wie .XLSX Datei
pdfName = Replace(strName, „.xlsx“, „.pdf“)

'##Exportiere aktuelles Arbeitsblatt in PDF Datei
ActiveSheet.ExportAsFixedFormat _
Type:=xlTypePDF, Filename:=pdfName, Quality:=xlQualityMinimum, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, _
OpenAfterPublish:=False**

With objMail
.Subject = Bezeichnung
.Body = „Sehr geehrte Damen und Herren,“ & vbCrLf & „“ & vbCrLf & „usw…“

’## Anhängen von PDF Datei anstelle von XLSX Datei
'.Attachments.Add ActiveWorkbook.FullName
.Attachments.Add pdfName

.Display ’ Display für Indirektversand oder .Send für Direktversand
End With

ActiveWorkbook.Close
Kill (strName)

Application.Goto Sheets(„Mail“).Range(„A1“)
Application.ScreenUpdating = True

Sheets(„Serien“).Select

End Sub

P.S.

Ich vergaß…

ActiveSheet.ExportAsFixedFormat setzt IMHO mindestens Office 2007 voraus, sowie das ‚Speichern unter - PDF‘ Add-in von der Microsoft Webseite:

http://www.microsoft.com/downloads/details.aspx?Fami…

Gruß,

Michael

Hey alle zusammen,

ich bedanke mich noch einmal an euch alle.
Habe das Problem nun lösen können.

Habe mir das Add-In zur PDF Umwandlung installiert und dann konnte ich das mit dem bereits vorhandenen Makro einfügen und weiterentwickeln.

Gruß

HM