AW: Merge Worksheets from different Worksbooks in pdf
02.01.2008 14:27:02
fcs
Hallo Lars,
die Möglichkeiten Blätter aus mehreren Arbeitsmappen in ein PDF-File zusammenzuführen hängen natürlich davon ab ob der PDF-Drucker (Acrobat oder andere) überhaupt via Excel-VBA angesteuert werden kann.
Alternativ kann man ggf. die Tabellenblätter in eine neue temporäre Arbeitsmappe kopieren und dann drucken.
Falls die Arbeitsmappen bereits geöffnet sind, dann wird
Set wb = Workbooks.Open(Filename:="C:\Lokale Daten\Test\TextInSpalten.xls", ReadOnly:=True)
zu
Set wb = Workbooks("TextInSpalten.xls)
und die Zeile zum Schließen des Workbooks kann/muss entfallen.
Gruß
Franz
Sub DruckMehrereDateien_PDF()
' DruckMehrereDateien_PDF Makro
Dim wb As Workbook, wbCopy As Workbook, Drucker As String
'1. Arbeitsmappe
Application.ScreenUpdating = False
Set wb = Workbooks.Open(Filename:="C:\Lokale Daten\Test\TextInSpalten.xls", ReadOnly:=True)
wb.Sheets("Tabelle1").Copy
Set wbCopy = ActiveWorkbook
wb.Close savechanges:=False
'2. Arbeitsmappe (1 Blatt)
Set wb = Workbooks.Open(Filename:="C:\Lokale Daten\Test\AuswahlCombo.xls", ReadOnly:=True)
wb.Sheets("Tabelle1").Copy After:=wbCopy.Sheets(wbCopy.Sheets.Count)
wb.Close savechanges:=False
'3. Arbeitsmappe (2 Blätter)
Set wb = Workbooks.Open(Filename:="C:\Lokale Daten\Test\Test1.xls", ReadOnly:=True)
wb.Sheets(Array("Daten1", "Daten2")).Copy After:=wbCopy.Sheets(wbCopy.Sheets.Count)
wb.Close savechanges:=False
'weitere Arbeitsmappen wie 2. oder 3. Arbeitsmappe
Application.ScreenUpdating = True
Drucker = Application.ActivePrinter
Application.ActivePrinter = "Adobe PDF auf Ne03:"
wbCopy.PrintOut Copies:=1, Collate:=True
Application.ActivePrinter = Drucker
'temporäre Arbeitsmappe ohne speichern schliessen
wbCopy.Close savechanges:=False
Set wb = Nothing: Set wbCopy = Nothing
End Sub