Live-Forum - Die aktuellen Beiträge
Datum
Titel
18.04.2024 18:04:29
18.04.2024 16:33:24
Anzeige
Archiv - Navigation
260to264
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
260to264
260to264
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

PDF PrintOut-Problem

PDF PrintOut-Problem
24.05.2003 12:40:43
Tom
Hi

Ich habe nachfolgende Prozedur geschrieben, welche ein Excel-Dokument als PDF-Datei ausdruckt. Diese Prozedur funktioniert wunderbar nur mit dem Problem, dass die PDF-Datei nicht ins selbe Verzeichnis geschrieben wird wie die Excel Datei (Die Excel Datei befindet sich im Verzeichnis H:\Daten, doch die PDF-Datei landet im Verzeichnis H:\). Ich wäre sehr um einen Tipp dankbar.

Tom


Public Sub Print_to_PDF(ws As Worksheet)

Dim objTmpPDF As Object
Dim strFileName As String

'Dateiname bestimmen
strFileName = Left(ws.Parent.FullName, Len(ws.Parent.FullName) - 4)

'Objekt für Dummy-File
Set objTmpPDF = CreateObject("Scripting.FileSystemObject")

'Dokument ausdrucken
ws.PrintOut _
Copies:=1, _
ActivePrinter:="Acrobat PDFWriter auf LPT1:", _
PrintToFile:=True, _
PrToFilename:=strFileName

'Dummy löschen
objTmpPDF.deletefile strFileName

End Sub

14
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: PDF PrintOut-Problem
25.05.2003 11:05:16
Ramses

Hallo,

ohne es getestet zu haben, sollte folgendes ausreichend sein:

Gruss Rainer

Re: PDF PrintOut-Problem
25.05.2003 13:09:36
Tom

Ramses,

das habe ich alles schon xmal ausprobiert - ohne Erfolg. Es scheint, dass die PDF immer ins CurDir-Verzeichnis geschrieben wird, doch ich bin nicht sicher.

Tom

Re: PDF PrintOut-Problem
25.05.2003 14:11:00
Ramses

Hallo,

probier mal das:


Der Code ist getestet und druckt das PDF-File in das gleiche Verzeichnis wie deine Mappe.

Gruss Rainer


Re: PDF PrintOut-Problem
25.05.2003 14:37:23
Tom

bringt alles nichts. Der PDF-Writer erzeugt automatisch die PDF-Endung und schreibt ein Dummy Objekt ins korrekte Verzeichnis, jedoch die PDF-Datei ins CurDir Verzeichnis. Ich habe sicherheitshalber ein FileCopy-Befehl eingefügt, doch überzeugen tut mich das nicht. Nachfolgend der neue Code:

Public Sub Print_to_PDF(ws As Worksheet)

Dim objTmpPDF As Object
Dim strFileName As String
Dim aFolders(3) As String
Dim intCounter As Integer

aFolders(1) = ws.Parent.Path
aFolders(2) = Application.DefaultFilePath
aFolders(3) = CurDir

'Dateiname bestimmen
strFileName = Left(ws.Parent.Name, Len(ws.Parent.Name) - 4)

'sicherheitshalber alte Dateien löschen
For intCounter = 1 To 3
If Dir(aFolders(intCounter) & "\" & strFileName & ".pdf") <> "" Then
Kill aFolders(intCounter) & "\" & strFileName & ".pdf"
End If
Next intCounter

'Objekt für Dummy-File
Set objTmpPDF = CreateObject("Scripting.FileSystemObject")

'Dokument ausdrucken (wichtig ohne PDF-Endung!)
ws.PrintOut _
ActivePrinter:="Acrobat PDFWriter auf LPT1:", _
PrintToFile:=True, _
PrToFilename:=ws.Parent.Path & "\" & strFileName

'Dummy-Objekt löschen
objTmpPDF.deletefile ws.Parent.Path & "\" & strFileName

'falls Datei ins falsche Verzeichnis kopiert wurde, korrigieren
For intCounter = 2 To 3
If aFolders(intCounter) <> ws.Parent.Path Then
If Dir(aFolders(intCounter) & "\" & strFileName & ".pdf") <> "" Then
On Error Resume Next
FileCopy aFolders(intCounter) & "\" & strFileName & ".pdf", _
ws.Parent.Path & "\" & strFileName & ".pdf"

If Err.Number = 0 Then
Kill aFolders(intCounter) & "\" & strFileName & ".pdf"
End If
On Error GoTo 0
End If
End If
Next intCounter

End Sub

Anzeige
Re: PDF PrintOut-Problem
25.05.2003 14:41:40
Ramses

Hallo,

der obige Code ist getestet und tut genau das was du willst.

Wie übergibst du die Variable "ws" an das Makro?

Gruss Rainer

Re: PDF PrintOut-Problem
25.05.2003 14:56:51
Tom

Call Print_to_PDF(Workbooks("blabla").Worksheets("blabla"))

oder

Call Print_to_PDF(ActiveSheet)

Re: PDF PrintOut-Problem
25.05.2003 15:17:01
Ramses

Hallo Tom,

ist die Datei gespeichert ?

Gruss Rainer

Re: PDF PrintOut-Problem
25.05.2003 15:37:34
Tom

ja

Es sind die kleinen Dinge des Lebens :-))
25.05.2003 16:03:02
Ramses

Hallo Tom,

es darf keine Endung ".pdf" in die Variable vergeben werden :-))

Der Code ist getestet und funktioniert auch beim wiederholten Male.
Eine existierende Datei wird ohne Rückfrage überschrieben !!!


Gruss Rainer

Anzeige
Ja, Ja die kleinen Dinge ....
25.05.2003 17:02:09
Ramses

Hallo Tom,

es gibt noch ein kleines Problem.
AA erstellt offensichtlich immer eine temporäre Datei und löscht diese, deshalb das Problem mit der endung "pdf".
In der vorherigen Variante habe ich festgestellt, dass eine Datei ohne Endung erstellt wird, die dann bestehen bleibt.

Hier der Workaround der definitv funktioniert :-))

Gruss Rainer

Re: Ja, Ja die kleinen Dinge ....
25.05.2003 19:02:14
Tom

Danke für das Beispiel, doch es funktioniert nicht. Die PDF-Datei landet im CurDir-Verzeichnis.

Dann mit Gewalt :-))
25.05.2003 19:38:44
Ramses

Hallo,

Gruss Rainer

Re: Dann mit Gewalt :-))
26.05.2003 09:24:24
Tom

Danke für dein Beispiel. Soweit bin ich auch gekommen, doch die Knacknuss ist noch nicht gelöst. Effektiv geht es um eine Access-Applikation, welche folgende Schritte ausführen soll:

1. Excel-Tabelle erstellen und mit Daten füllen
2. PDF-Dokument erstellen
3. PDF-Datei ins Internet stellen

Alle Teilschritte funktionieren, doch wie kontrolliere ich die CurDir-Eigenschaft von Access aus?!?

Gruss Tom

Anzeige
Dann viel Spass...
26.05.2003 13:15:34
Ramses

Hallo

Wenn du genauso weit gekommen bist, frage ich mich warum du dann sooft nachgefragt hast.
Von Acces aus geht es genauso,... allerdings klinke ich mich jetzt aus.

Gruss Rainer


Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige