ahstax
Goto Top

Alle Word-Dokumente in einem Ordner drucken u Fehler ignorieren

Hallo,

ich würde gerne alle Word-Dokumente in einem Ordner (aus FolderBrowserDialog1.ShowDialog() = DialogResult.OK) drucken. Dabei sollen Meldungen wie "Der Rand in Abschnitt XA liegt außerhalb des druckbaren Bereichs" unterdrückt werden. Geht das?

Damit klappts leider nicht...:

Public Class Form1
    Dim MSWord As Word.Application
    Dim WordDoc As Word.Document
    Dim strPfadOrdner As String

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        Label1.Text = "Ausdruck läuft, bitte warten"  
        Button1.Enabled = False
        Me.Refresh()

        If FolderBrowserDialog1.ShowDialog() = DialogResult.OK Then
            strPfadOrdner = FolderBrowserDialog1.SelectedPath


            MSWord = New Word.Application


            Dim diDirectory As New IO.DirectoryInfo(strPfadOrdner)
            Dim filesAll As System.IO.FileInfo() = diDirectory.GetFiles("*.doc")  
            Dim intAnzahlZuPruefenderDateien = filesAll.Count


            For Each filesOne As IO.FileInfo In filesAll

                WordDoc = New Word.Document

                WordDoc = MSWord.Documents.Open(strPfadOrdner & "\" & filesOne.ToString)  

                ' If you want the user to see it ...   
                'MSWord.WindowState = Word.WdWindowState.wdWindowStateNormal  
                'MSWord.Visible = True  
                WordDoc.PrintOut()
                'WordDoc.PrintOut(Background:=True, _  
                '    Append:=False, _  
                '    Range:=Word.WdPrintOutRange.wdPrintCurrentPage, _  
                '    Item:=Word.WdPrintOutItem.wdPrintDocumentContent, _  
                '    Copies:="1", _  
                '    Pages:="1", _  
                '    PageType:=Word.WdPrintOutPages.wdPrintAllPages, _  
                '    PrintToFile:=False, _  
                '    Collate:=True, _  
                '    ManualDuplexPrint:=False)  

                Threading.Thread.Sleep(1000) 'Millisekunden  

                MSWord.Documents.Close(Word.WdSaveOptions.wdDoNotSaveChanges)
                'WordDoc = Nothing  


            Next
        End If


        Button1.Enabled = True
        Label1.Text = ""  
        MSWord = Nothing


    End Sub

Neugierige Grüße,
Andreas

Content-Key: 238925

Url: https://administrator.de/contentid/238925

Printed on: April 26, 2024 at 22:04 o'clock

Member: colinardo
Solution colinardo May 22, 2014, updated at May 28, 2014 at 12:39:49 (UTC)
Goto Top
Hallo Andreas,
ich gehe jetzt mal nur auf den Meldungs-Dialog ein, schon mit
MSWord.DisplayAlerts = False
hinter Zeile16 deines Codes versucht ? Das sollte Warnungen im Batchbetrieb von Word unterdrücken. Das sollte man immer machen damit Skripte bei der Fernsteuerung von Office nicht durch Dialoge unterbrochen werden.

und nicht vergessen hinterher wieder mit
MSWord.DisplayAlerts = True
zurücksetzen.

Grüße Uwe
Member: ahstax
ahstax May 22, 2014 at 18:29:03 (UTC)
Goto Top
Hallo Uwe,

Danke für den Hinweis, den ich ausprobieren werde! face-wink

Wenn Du nur auf die Warnungen eingehst... Das klingt, als ob man auf das Eine oder Andere auch noch eingehen könnte...?

Sonnige Grüße,
Andreas
Member: colinardo
Solution colinardo May 22, 2014, updated at May 28, 2014 at 12:39:45 (UTC)
Goto Top
Zitat von @ahstax:
Wenn Du nur auf die Warnungen eingehst... Das klingt, als ob man auf das Eine oder Andere auch noch eingehen könnte...?

nein das ist kein Vorwurf face-wink hatte nur noch nicht die Muße mir den Code reinzuziehen, habe mir heute schon zu viele Zeilen reinziehen müssen, und war etwas faul, ich gebs zu face-big-smile aber wenn's ansonsten läuft ist es ja OK.

Schönen Abend
Grüße Uwe
Member: ahstax
ahstax May 23, 2014 at 06:56:26 (UTC)
Goto Top
Zitat von @colinardo:
nein das ist kein Vorwurf face-wink hatte nur noch nicht die Muße mir den Code reinzuziehen, habe mir heute schon zu viele Zeilen
reinziehen müssen, und war etwas faul, ich gebs zu face-big-smile aber wenn's ansonsten läuft ist es ja OK.

Ja, das kann ich doch gut verstehen!!! face-big-smile