Duplex per VBA?

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
MsgBox
Bild

Betrifft: Duplex per VBA?
von: Chris
Geschrieben am: 08.09.2015 07:47:44

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

Bild

Betrifft: AW: doppelt - owT
von: MatthiasG
Geschrieben am: 08.09.2015 10:06:11
nix

 Bild

Beiträge aus den Excel-Beispielen zum Thema "Kopieren von mehreren Werten"