Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1444to1448
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

Duplex per VBA?

Duplex per VBA?
08.09.2015 07:47:44
Chris
Hallo Forum,
mal sehen ob jmd. eine Lösung weiß: Ich drucker per Excel-Makro einen Serienbrief. Funktioniert soweit problemlos. Gibt es inzwischen eine Möglichkeit, Duplex Druck per VBA einzustellen? Der Makro Recorder hilft da leider (immer noch?) nicht weiter:
Sub SerienbTV()
On Error GoTo err:
'Im Excel VBA-Editor für die Datei mit diesem Makro unter Extras-Verweise _
den Verweis auf die Microsoft Word x.y Object Library aktivieren!!
Dim winword, WinDoc As Word.Document, docSerienbrief As Word.Document
Dim sFile As String, strCon As String
strDatenQuelle = Environ("USERPROFILE") & "\Desktop\TV-Verwaltung\DQ-TV.xlsx"
strWOrdvorlage = Environ("USERPROFILE") & "\Desktop\TV-Verwaltung\Beispielbrief.docx"
sFile = strWOrdvorlage
Set winword = CreateObject("Word.Application")
With winword
.Visible = False
'Vorlagedatei öffnen
Set WinDoc = .documents.Open(sFile)
With WinDoc
With .MailMerge
'Datenquelle öffnen
.OpenDataSource Name:=strDatenQuelle, _
Connection:="Provider=Microsoft.Jet.OLEDB.4.0;" _
& "Data Source=" & strDatenQuelle & ";" _
& "Mode=Read;Extended Properties=""HDR=YES;IMEX=1;"";" _
& "Jet OLEDB:Engine ", _
SQLStatement:="SELECT * FROM `Tabelle1$`"
'Serienbrief mit allen Daten in neuem Dokument erstellen
.Destination = wdSendToNewDocument
.SuppressBlankLines = False
With .DataSource
'For i = 1 To x
.FirstRecord = wdDefaultFirstRecord
.LastRecord = wdDefaultLastRecord
'Next i
End With
.Execute Pause:=False
Set docSerienbrief = winword.ActiveDocument
'Datenquelle wieder schliessen
.DataSource.Close
End With
'Vorlagedatei wieder schliessen
.Close savechanges:=False
End With
'Serienbrief - Drucken - Seitenvorschau
docSerienbrief.Application.WindowState = wdWindowStateMinimize
' If MsgBox("Serienbrief ""TV-Vertrag drucken?"" Drucken ?", vbYesNo + vbQuestion, _
'     "Serienbrief-Erstellung - Drucken - Seitenvorschau") = vbYes Then
' docSerienbrief.Application.WindowState = wdWindowStateMaximize
'docSerienbrief.PrintPreview
' If MsgBox("Ergebnisprofile drucken?", vbYesNo + vbQuestion, _
'"Serienbrief-Erstellung-Speichern") = vbYes Then
docSerienbrief.PrintOut Range:=wdPrintAllDocument, Item:= _
wdPrintDocumentContent, Copies:=1, Pages:="", PageType:=wdPrintAllPages, _
ManualDuplexPrint:=False, Collate:=True, Background:=True, PrintToFile:= _
False, PrintZoomColumn:=0, PrintZoomRow:=0, PrintZoomPaperWidth:=0, _
PrintZoomPaperHeight:=0
'End If
'End If
'Serienbrief -Speichern
docSerienbrief.Application.WindowState = wdWindowStateMinimize
'If MsgBox("Ergebnisprofile als PDF auf Desktop speichern ?", vbYesNo + vbQuestion, _
'  "Serienbrief-Erstellung-Speichern") = vbYes Then
'docSerienbrief.Application.WindowState = wdWindowStateMaximize
'docSerienbrief.Application.Dialogs(wdDialogFileSaveAs).Show
'winword.ActiveDocument.ExportAsFixedFormat Outputfilename:=Environ("USERPROFILE") & "\  _
_
Desktop\" & "IK-D", _
ExportFormat:=wdExportFormatPDF, _
OpenAfterExport:=False, OptimizeFor:= _
wdExportOptimizeForPrint, Range:= _
wdExportAllDocument, Item:=wdExportDocumentContent, _
IncludeDocProps:=True
' MsgBox "PDF-Datei erfolgreich auf Desktop gespeichert!",  _
vbInformation
docSerienbrief.Application.WindowState = wdWindowStateMinimize
End With
winword.Quit savechanges:=False
Set docSerienbrief = Nothing
Set winword = Nothing
Set WinDoc = Nothing
'err:
'Exit Sub
End Sub

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: doppelt - owT
08.09.2015 10:06:11
MatthiasG
nix

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige