Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1008to1012
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

PDF'saus Excel per VBA Run-time Error

PDF'saus Excel per VBA Run-time Error
12.09.2008 10:14:00
Martin
Hallo,
ich habe folgendes Problem. Ich habe ein Makro geschrieben, welches automatisch PDF erzeugen soll.
Das zu druckende Sheet ist ein Template, welches sich seine Daten über eine ID zieht. In einem weiteren Sheet möchte ich in einer Spalte über "x" auswählen welche Sheets mit welcher ID ich als PDF ausdrucken möchte. Das soll dann automatisch über VBA in einer Schleife laufen.
Ich bekomme leider die Fehlermeldung Run-time error '91' Object variable or With block variable not set.
Hat jemand vielleicht eine Idee woran das liegen könnte. Der Code steht unten. Beim Debuggen in der Zeile
distiller.FileToPDF Pfad & Datei & ".ps", Pfad & Datei & ".pdf ", ""
auf.

Sub PDF_x_DC()
Dim Pfad As String
Dim Datei As String
Dim distiller As ACRODISTXLib.PdfDistiller
Set distiller = New ACRODISTXLib.PdfDistiller
For z = 5 To 65000
Pfad = ThisWorkbook.Sheets("Print").Cells(z, 19).Value
Datei = ThisWorkbook.Sheets("Print").Cells(z, 18).Value
Sheets("Print").Activate
Cells(z, 11).Select
If ActiveCell.Value = "END" Then
Exit Sub
Else
If ActiveCell.Value = "0" Then
ActiveCell.Offset(1, 0).Select
Else
Sheets("Template_DC").Range("Print_A1").Value = Sheets("Print").Cells(z, 11).Value
Sheets("Template_DC").Calculate
Sheets("Template_DC").Select
Insert_Pictures_DC
Sheets("Template_DC").Select
ThisWorkbook.Worksheets("Template_DC").PrintOut ActivePrinter:="Adobe PDF", printtofile:= _
True, Collate:=True, PrToFileName:=(Pfad & Datei & ".ps")
distiller.FileToPDF Pfad & Datei & ".ps", Pfad & Datei & ".pdf ", ""
Kill Pfad & Datei & ".ps"
Set distiller = Nothing
Sheets("Print").Activate
Cells(z, 11).Select
End If
End If
Next z
End Sub


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

Betreff
Datum
Anwender
Anzeige
AW: PDF'saus Excel per VBA Run-time Error
12.09.2008 15:52:00
fcs
Hallo Martin,
ich hab deinen Code mal probiert ( außer Zeile Insert_Pictures_DC).
Das Erzeugen der PDF-Dateien funktioniert einwandfrei. Ich arbeite mit Adobe Acrobat 8 professional.
Ich musste nur einmal eine Einstellung für den Adobe-Drucker anpassen bzgl. Systemschriften und eingebettet Schriften.
Ich gehe davon aus, dass du den Verweis im VBA-Editor auf den Acrobat Destiller gesetzt hast, da sonst sofort eine andere Fehlermeldung kommt.
Sind denn Pfad und Dateiname für die PS- und PDF-Datei mit korrekt?
Bei mir läufen dann der Print-Befehler un der Distiller noch durch, allerdings ohne eine Datei zu erzeugen, und das Makro bricht in der Kill-Zeile ab.
Gruß
Franz
Anzeige
AW: PDF'saus Excel per VBA Run-time Error
12.09.2008 17:11:01
Martin
Hallo Franz, vielen Dank für deine Antwort!
Bei mir erzeugt er die erste Datei, bricht aber leider ab der zweiten Datei ab (mit der Fehlermeldung) Da er die erste Datei erzeugt müssten die Pfade funktionieren. Ich habe den Verdacht, dass er sich bei den ActiveCells und ActiveWorkbook irgendwie verhaspelt. Hasst du eine Ahnung was der Runtime Error aussagt?
Viele Grüße und vielen Dank
Martin
AW: PDF'saus Excel per VBA Run-time Error
12.09.2008 17:25:00
fcs
Hallo martin,
ich hatte auch nur mit einer datei getestet, da ist der Fehler nicht aufgefallen.
Du muss die Zeile
Set distiller = Nothing
hinter das Ende der For-Next-Schleife verschieben.

End If
Next z
Set distiller = Nothing
End Sub

Da das Objekt in der Schleife zurückgesetzt wurde funktionierte die 2. PS zu PDF-Konversion nicht mehr.
Gruß
Franz

Anzeige
AW: PDF'saus Excel per VBA Run-time Error
12.09.2008 17:28:23
Martin
Super es klappt! Tausend Dank!

303 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige