Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
blatt als pdf drucken
zurück: Userform drucken weiter: Nach Zeitraum filtern Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Feedback Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
Martin B.
gut in Excel, mäßiger Anfänger in VBA


Verfasst am:
11. Jun 2012, 17:21
Rufname:
Wohnort: Bremen

blatt als pdf drucken - blatt als pdf drucken

Nach oben
       Version: Office 2003

Moin moin,

ich habe in einem Threat eine gute Antwort auf meine Frage gefunden, wie ich eine oder mehrere Seiten als pdf Datei drucken kann. Dabei gibt es ein UF mit einer Auswahl für die Blätter in meiner Mappe und ob ich auf dem Standartdrucker oder als pdf drucken will (mittels PDFCreator). So weit geht alles gut, userForm öffnet sich, Auswahl kann erfolgen und Druck auf lokalem Drucker kommt. Nur beim pdf Drucken schickt mir das Makro die Datei ins Nirvana, sie wird nicht auf dem Desktop gespeichert. Auch eine Suche auf dem Rechner nach neuen pfd Dateien bringt keinen Erfolg. Hier mein Code aus der Userform:

Private Sub CommandButton1_Click()
xloldPrinter = Application.ActivePrinter

xlSheetsCounter = 0
For Each oNode In trvSheetsSelect.Nodes
If oNode.Checked = True Then
ReDim Preserve vntSheetArray(0 To intSheetCounter)
vntSheetArray(intSheetCounter) = oNode.Text
intSheetCounter = intSheetCounter + 1
xlSheetsCounter = xlSheetsCounter + 1
End If
Next oNode

If Not (ActiveWorkbook.ProtectStructure Or ActiveWorkbook.ProtectWindows) Then

If xlSheetsCounter = 0 Then
MsgBox "Sie müssen mindestens 1 Tabelle wählen!", 64, "Hinweis"

Exit Sub
End If
xlSheetsCounter = 0
End If

ThisWorkbook.Sheets(vntSheetArray).Copy

With ActiveWorkbook
If OptionButton2.Value = True Then
.PrintOut copies:=1
ElseIf OptionButton1.Value = True Then
.PrintOut copies:=1, ActivePrinter:="PDFCreator", PrintToFile:=True, PrToFileName:=Environ("Username") & "\Desktop\" & ActiveWorkbook.Name & ".pdf"
End If
.Close savechanges:=False
End With

Application.ActivePrinter = xloldPrinter

Es sind noch ein Modul mit Variablen vorhanden und etwas Code im Blatt, wo ich den Schalter zum Aufrufen der UF habe.
Ich denke, der Fehler müßte irgendwo im Bereich von .PrintOut.... liegen.
Für ne Antwort wäre ich echt dankbar

Danke schon mal vorab

_________________
Gruß von Martin
jodox
Im Profil kannst Du frei den Rang ändern


Verfasst am:
11. Jun 2012, 21:00
Rufname:


AW: blatt als pdf drucken - AW: blatt als pdf drucken

Nach oben
       Version: Office 2003

Hi,

lasse den blauen Teil weg und setze im PDFCreator einen automatischen Speicherpfad.
.PrintOut copies:=1, ActivePrinter:="PDFCreator"
', PrintToFile:=True, PrToFileName:=Environ("Username") & "\Desktop\" & ActiveWorkbook.Name & ".pdf"

_________________
Gruß SN
Martin B.
gut in Excel, mäßiger Anfänger in VBA


Verfasst am:
12. Jun 2012, 10:42
Rufname:
Wohnort: Bremen

AW: blatt als pdf drucken - AW: blatt als pdf drucken

Nach oben
       Version: Office 2003

Hi jodox,

danke für den Tip.
Hab ich gemacht und jetzt gehts. Hab auch noch ne aktuelle Version vom PDFCreator installiert. Meine war die 0.96..
Habe aber jetzt noch das Problem, dass, wenn ich die Druckfunktion eine zweites mal starte, ohne zwischendurch ein anderes Blatt anzuwählen, sich der Code aufhängt. Der Debugger bleibt an der Stelle

ThisWorkbook.Sheets(vntSheetArray).Copy

mit der Fehlermeldung:

Laufzeitfehler -2147417848 (80010108)
Die Methode Copy für das Objekt 'Sheets' ist fehlgeschlagen

stehen. Dabei hängt sich Exel manchmal komplett auf.
Hast Du darauf ne Antwort?
Wie gesagt, habe den Code aus nem alten Beitrag und in mein Programm integriert. Viele von den Objekten (Each oNode usw) kenn ich nicht.

Danke

_________________
Gruß von Martin
jodox
Im Profil kannst Du frei den Rang ändern


Verfasst am:
12. Jun 2012, 18:39
Rufname:

AW: blatt als pdf drucken - AW: blatt als pdf drucken

Nach oben
       Version: Office 2003

Hi,

es sieht wohl so aus, dass intSheetCounter einen anderen Wert hat als zu Beginn.
Kann du das überprüfen?

_________________
Gruß SN
mumpel
Fortgeschrittener


Verfasst am:
12. Jun 2012, 18:46
Rufname: René
Wohnort: Lindau (B)

AW: blatt als pdf drucken - AW: blatt als pdf drucken

Nach oben
       Version: Office 2003

Hallo!

Sieht nach meinem Code aus. Wink

1. "USERPROFILE" muss es richtig heissen, nicht "USERNAME".
PrToFileName:=Environ("USERPROFILE") & "\Desktop\".

2. vntSheetArray muss immer neu gefüllt werden. Ohne eine erneute Auswahl von Tabellenblättern läuft vntSheetArray ins Leere, woraus ein Absturz resultiert. Oder eine Fehlerbehandlung einbauen.

Gruß, René
Martin B.
gut in Excel, mäßiger Anfänger in VBA


Verfasst am:
12. Jun 2012, 22:41
Rufname:
Wohnort: Bremen

AW: blatt als pdf drucken - AW: blatt als pdf drucken

Nach oben
       Version: Office 2003

Hi jodox
Hi mumpel,

danke für die Antworten.
Im Bezug auf den Drucker bin ich ja der Idee von jodox gefolgt, der gut funktioniert.
@jodox. Ich glaube auch, das es eher mit der Variablen vntSheetArray zusammenhnängt, da der Debugger auch auf der Zeile stehen bleibt (gelb markiert)
@ mumpel: Kannst Du mir nen Tip geben, wie ich vntSheetAray neu füllen kann? Bin da nicht so fit und kann deinen Code nicht so ganz nachvollziehen, da mir einige ?Befehle? nichts sagen. Habe deinen Code nur in so weit geändert, dass ich im Modul1 die Variable "Blatt" noch als Sheet definiert habe. War das nötig? Habe sie sonst nirgends als Variable definiert gefunden.

Gruß

_________________
Gruß von Martin
jodox
Im Profil kannst Du frei den Rang ändern


Verfasst am:
12. Jun 2012, 23:03
Rufname:

AW: blatt als pdf drucken - AW: blatt als pdf drucken

Nach oben
       Version: Office 2003

Hi,

ich meine, über
intSheetCounter = intSheetCounter + 1
wird der Wert in der For-Each-Schleife immer um eins erhöht.
Wenn du noch einmal auf CommandButton1 klickst, dann stimmt der Wert ja nicht mehr.
Du müsstest also wieder den ersten Initialisierungswert nehmen.

Das Ganze habe ich aber nicht getestet und kann den Code so nicht überblicken.

_________________
Gruß SN
Martin B.
gut in Excel, mäßiger Anfänger in VBA


Verfasst am:
13. Jun 2012, 10:14
Rufname:
Wohnort: Bremen


AW: blatt als pdf drucken - AW: blatt als pdf drucken

Nach oben
       Version: Office 2003

Hi jodox,

hattest recht!
Der intSheetCounter hat sich als Endlosschleife entwickelt.
Habe ihn jetzt vor dem neuen Durchlauf der Schleife, zusammen mit dem xlSheetsCounter, auf 0 gesetzt.
Die Variablen für den ganzen code waren in einem Modul enthalten, die habe ich jetzt in die jeweiligen Objekte / Formulare geschoben, so ist es für mich etwas übersichtlicher.

Danke noch mal für die Hilfe, aber bei code, den man nicht selber erstellt hat und bei Dingen (bei mir die Arrays) die man nicht kennt, braucht man lange, um sich reizuarbeiten Crying or Very sad
Die Hilfe und die Arbeit lohnen sich aber immer, sonst hätte ich die ganze Sache gar nicht so hin bekommen..
Gruß

_________________
Gruß von Martin
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind
GMT + 1 Stunde

Diese Seite Freunden empfehlen

Seite 1 von 1
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen

Verwandte Themen
Forum / Themen   Antworten   Autor   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Excel Formeln: Mehrere gleiche Daten (Datum) in neues Blatt - Nur Einmal 2 steffm 879 06. Feb 2008, 14:35
steffm Mehrere gleiche Daten (Datum) in neues Blatt - Nur Einmal
Keine neuen Beiträge Excel Formeln: aus anderer Mappe in einem Blatt bestimmte spalten kopieren 4 Karl der Ahnungslose 1916 17. Jan 2008, 09:06
Gast aus anderer Mappe in einem Blatt bestimmte spalten kopieren
Keine neuen Beiträge Excel Formeln: zeilen aus tab.blatt unter bedingung in anderes tab.blatt 2 gimoya 495 03. Nov 2007, 16:33
Gast zeilen aus tab.blatt unter bedingung in anderes tab.blatt
Keine neuen Beiträge Excel Formeln: vo einem blatt auf ein anderes einfügen 1 Gast11 502 19. Okt 2007, 14:18
syme vo einem blatt auf ein anderes einfügen
Keine neuen Beiträge Excel Formeln: Text aus Zelle in andere Zelle / Blatt ziehen 3 Hpalli 1410 20. Sep 2007, 00:23
Detlef 42 Text aus Zelle in andere Zelle / Blatt ziehen
Keine neuen Beiträge Excel Formeln: Zellen mit Leerstring nicht drucken 6 Eminent 1185 03. Sep 2007, 11:26
Eminent Zellen mit Leerstring nicht drucken
Keine neuen Beiträge Excel Formeln: Drucken nur mit Passwort 1 Martina999 3120 11. Jul 2007, 13:50
< Peter > Drucken nur mit Passwort
Keine neuen Beiträge Excel Formeln: Liste aus verschiedene Tabellen zusammentragen in 1 Blatt 1 woelmuis 1797 18. Jun 2007, 17:31
natan Liste aus verschiedene Tabellen  zusammentragen in 1 Blatt
Keine neuen Beiträge Excel Formeln: Ein Blatt/Übergabebescheinigung für jeden Datensatz - wie??? 5 xhutzelx 2403 12. Jun 2007, 19:15
Günni Ein Blatt/Übergabebescheinigung für jeden Datensatz - wie???
Keine neuen Beiträge Excel Formeln: Eingaben fortlaufend auf anderes Blatt übertragen 0 Lieschen100 2104 26. Mai 2007, 11:31
Lieschen100 Eingaben fortlaufend auf anderes Blatt übertragen
Keine neuen Beiträge Excel Formeln: WieVerknüpfung von einem Blatt zum Anderen mit Felderkennung 2 KC 805 10. Apr 2007, 22:22
Gast WieVerknüpfung von einem Blatt zum Anderen mit Felderkennung
Keine neuen Beiträge Excel Formeln: Formel auf Blatt 3 100Morpheus 578 01. Apr 2007, 19:52
100Morpheus Formel auf Blatt
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: Microsoft Project