Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1132to1136
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
pdf-Druck laufende Seitennummerierung umgehen
Sandra
Hallo Ihr Lieben.
Derzeit nutze ich, folgendes Makro:
Sub PDF_Print_Sheet()
'Modifiziert
Dim wks As Worksheet
For Each wks In ActiveWindow.SelectedSheets
With wks
.Select
.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
Environ("userprofile") & "\Desktop\" & .Name & ".pdf", Quality:=xlQualityStandard,  _
_
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
True
End With
Next wks
End Sub
Das läuft fast super - bei den meisten jedenfalls.
Das Problem soll aber (ersteinmal :-) ) nicht Euers sein.
Ich muss mir jetzt noch ein Makro zusammen bauen, bei dem ich Eure Hilfe benötige. Es funktioniert scheinbar nur über diesen Weg der VBA-Programmierung.
Ich habe eine Exceldatei mit vielen Tabellenblättern. Nun möchte ich alle markierten Tabellenblätter als pdf drucken - von mir aus auch speichern als pdf. Dabei soll aber die Seitennummerierungd er Tabellenblätter beibehalten werden, die mit den Variablen [Seite] & [Seiten] (also: Seite [Seite] & con Seite [Seiten]) festgelegt sind. Habe ich im TB1 3 Seiten (1 von 3, 2 von 3 und 3 von 3) und im TB2 2 Seiten (1 von 2 und 2 von 2), dann möchte ich diese Seitenzahlen auch im pdf-Ausdruck wiederfinden und nicht 1 von 5, 2 von 5 etc.
Geht das irgendwie? Und wenn ja, wie?
P. s. Das Makro muss für verschiedene Betriebssysteme (XP, Vista und 7) funktionieren (daher auch die Ausführung: Environ("userprofile") & "\Desktop\" & .Name & ".pdf" beim o. g. Makro) und ggfs. auch mit unterschiedlichen Adobe-Ausgaben 8.0, 9.0 etc. Die Excelversion ist bei allen Exdel 2007.
Ich danke Euch herzlichst
Eure Sandra!
AW: pdf-Druck laufende Seitennummerierung umgehen
02.02.2010 14:55:09
Ramses
Hallo
Wähle im Druckdialog "Gesamte Arbeitsmappe" und nicht "Ausgewählte Blätter",... dann sollte das tun.
Dieser VBA-code ist unabhängig von der installierten Adobe-Version da der Ausdruck über das MS-Addin PDF-Druck erfolgt. Daher ist es wichtig, dass dieses AddIn auf jedem Rechner installiert ist.
Gruss Rainer
AW: pdf-Druck laufende Seitennummerierung umgehen
02.02.2010 15:41:43
Sandra
Hey Ralf,
habe ich probiert.
Auch speichern unter - als pdf oder Konvertieren in pdf - überall wird die Nummerierung nicht übernommen.
Frage zum oben stehenden Makro - kann es noch wichtig sein, welches ServicePack installiert ist?
Lieben Gruß
Sandra
Anzeige
Rainer - nicht Ralf - MEIN Fehler - SORRY!!!
02.02.2010 16:33:56
Sandra
Sorry - Rainer meinte ich natürlich.
Habe gerade mit unserem IT-Fachmann telefoniert - der heißt Ralf. :-)
Du warst aber gemeint.
AW: Rainer - nicht Ralf - MEIN Fehler - SORRY!!!
02.02.2010 16:51:52
Sandra
Achso - Frage noch offen sollte ich auch anhaken damit Ihr das wisst. Lieben Gruß
Sandra
ICH BITTE UM HILFE - ICH KOMME ALLEIN NICHT WEITER
04.02.2010 08:09:49
Sandra
BITTE!
Danke Eure Sandra
versuch mal sowas...
04.02.2010 09:37:05
Tino
Hallo,
vor dem Druck werden die Markierten Seiten durchnummeriert danach wird dies wieder zurückgestellt.
Sub PDF_Print_Sheet()
Dim i As Integer
Dim meAr()
Dim wks As Worksheet
With ActiveWindow
ReDim meAr(.SelectedSheets.Count - 1, 1)
For Each wks In .SelectedSheets
meAr(i, 0) = wks.Name
meAr(i, 1) = wks.PageSetup.RightFooter
wks.PageSetup.RightFooter = "Seite " & i + 1 & " von " & .SelectedSheets.Count
i = i + 1
Next wks
For Each wks In .SelectedSheets
With wks
.Select
.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
Environ("userprofile") & "\Desktop\" & .Name & ".pdf", _
Quality:=xlQualityStandard, IncludeDocProperties:=True, _
IgnorePrintAreas:=False, OpenAfterPublish:=True
End With
Next wks
If i > 0 Then
For i = LBound(meAr) To UBound(meAr)
Sheets(meAr(i, 0)).PageSetup.RightFooter = meAr(i, 1)
Next i
End If
End With
End Sub

Gruß Tino
Anzeige
Passt leider nicht
04.02.2010 10:20:32
Sandra
Hallo Tino,
dabei passiert folgendes:
ich markiere 3 Tabellenblätter - bekomme 3 pdf-Dateien - will aber nur eine. Zudem ist dann die Nummerierung falsch, wenn ein Tabellenblatt mehrere Seiten hat.
Ergebnis ist also:
Tabellenblatt 1 - eine Seite - Nummerierung: 1 von 3
Tabellenblatt 2 - eine Seite - Nummerierung: 2 von 3
Tabellenblatt 3 - zwei Seiten - Nummerierung: 3 von 3 - 3 von 3 steht somit auf der ersten und auf der zweiten Seite des dritten Tabellenblattes. Eigentlich sollte bei diesem Test jetzt eine Datei mit vier Seiten rauskommen, die dann aber nicht nummeriert ist mit 1 von 4 bis 4 von 4.
Dann könnte ich ja einfach als pdf drucken.
Ich möchte gerne, dass ich eine beliebige Anzahl von Tabellenblätern anklicken kann (derzeit sind es insgesamt 45). Wenn ich dann das Makro ausführe möchte ich aus den Markierten Tabellenblättern ein gesamtes pdf-Dokument haben. Die Nummerierung soll entsprechend der Tabellenblätter beibehalten werden.
Bsp. Tabellenblatt 1 hat 3 Seiten dann soll auf den ersten drei Seiten des pdf-Dokumentes 1 von 3, 2 von 3, 3 von 3 stehen. Dann - Seite 4 fängt an mit Seite 1 von x (je nachdem, wie viele Seiten das zweite Tabellenblatt hat) etc.
Die Datei sollte dann mit Namen der Excel-Datei automatisch auf dem Desktop abgespeichert werden.
Lieben Gruß
Sandra
Anzeige
ich kann es bei mir nicht testen, sorry oT.
04.02.2010 23:05:29
Tino
Frage offen
versuche es mal so...
05.02.2010 10:24:17
Tino
Hallo,
kopiere die Markierten Tabellen in eine neue Datei und speichere diese als PDF.
Jetzt sollte die Reihenfolge stimmen.
Sub Makro1()
Dim oWB As Workbook
Dim oSh As Worksheet
Dim objShell As Object
Dim Desktop As String
Dim strPDF_Name As String
    
strPDF_Name = InputBox("Geben sie den Namen der Pdf Datei an", "Name vergeben")
If strPDF_Name = "" Then Exit Sub

strPDF_Name = IIf(Right$(LCase(strPDF_Name), 4) = ".pdf", strPDF_Name, strPDF_Name & ".pdf")

Set objShell = CreateObject("WScript.Shell")
Desktop = objShell.SpecialFolders("Desktop")
Desktop = IIf(Right$(Desktop, 1) = "\", Desktop, Desktop & "\")

If Dir(Desktop & strPDF_Name) <> "" Then
    If MsgBox("Datei mit den Namen " & strPDF_Name & " schon vorhanden!" & vbCr & _
              "Wollen Sie diese ersetzen?", vbYesNo) = vbNo Then
        
        Exit Sub
    
    End If
End If
Application.ScreenUpdating = False
    ActiveWindow.SelectedSheets.Copy
    Set oWB = ActiveWorkbook
    
    For Each oSh In oWB.Worksheets
     oSh.PageSetup.RightFooter = "Seite &P von &N"
    Next oSh
    
    oWB.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
            Desktop & "Name.pdf", Quality:=xlQualityStandard, IncludeDocProperties:= _
            True, IgnorePrintAreas:=False, OpenAfterPublish:=False
       
        
    oWB.Close False
Application.ScreenUpdating = True

End Sub
Gruß Tino
Anzeige
Sub PDF_Print_Sheet()
08.02.2010 17:10:19
Sandra
Hallo Tino.
Das funktioniert leider auch nicht. Das nach einem Namen gefragt wird ist toll, aber - egal welchen ich eintrage, die Datei heißt immer "Name".
Aber auch die Seitennummerierung passt nicht. Ich habe wieder vier Dateien getestet mit je einer Seite. Auf jeder Seite des pdf-Dokumentes hätte 1 von 1 stehen sollen. Es stand aber 1 von 4, 2 von 4 etc.
Und dann habe ich noch eine Frage. Ich nutze in einer anderen Datei dieses Makro:
Sub PDF_Print_Sheet()
'Modifiziert
Dim wks As Worksheet
For Each wks In ActiveWindow.SelectedSheets
With wks
.Select
.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
Environ("userprofile") & "\Desktop\" & .Name & ".pdf", Quality:=xlQualityStandard,  _
_
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
True
End With
Next wks
End Sub

Kann ich da den Teil von Dir mit einbinden? Und wenn ja, wo bzw. wie muss ich ihn einbinden?
If Dir(Desktop & strPDF_Name) "" Then
If MsgBox("Datei mit den Namen " & strPDF_Name & " schon vorhanden!" & vbCr & _
"Wollen Sie diese ersetzen?", vbYesNo) = vbNo Then
Anzeige
AW: Sub PDF_Print_Sheet()
08.02.2010 17:11:51
Sandra
Hab das DANKE und den Gruß vergessen. :-)
Gruß
Sandra

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige