Lotus Notes / Domino Sonstiges > Java und .NET mit Notes/Domino

[VB.NET] Fehler - Dokument über NotesUIWorkspace drucken

<< < (2/2)

tdottore:
Hallo Miteinander
Den Code werde ich Dienstag extra für euch anschaulich umschreiben und jede Zeile mit Messageboxen debuggen.
Ich hoffe bis Dienstag ist die SP1-Installtion von Visual Studio 2010 fertig(Läuft seit 2h -.-).
Der PDFCreator ist auf allen Computer installiert. Default-Drucker muss er nicht sein, da ich den Druckername in der Funktion angeben.

Ich melde mich Montag wieder.

Danke u. Gruss

tdottore:
Hallo Miteinander
Ich bin jetzt schon ein grosses Stück weiter, was diese Funktion anbelangt.
Die Funktion sieht aktuell so aus:

--- Code: ---    ''' <summary>
    ''' Druckt das Notesdokument über die NotesOberfläche auf dem PDFCreator Drucker aus.
    ''' </summary>
    ''' <remarks></remarks>
    Private Function _DruckeNotesDokument() As Boolean
        Try
            'Prüfe ob Drucker überhaupt vorhanden ist
            Dim Printer As New Printing.PrinterSettings()
            Dim PrinterName As String
            Dim PDFCreatorVorhanden As Boolean = False
            For Each PrinterName In Printing.PrinterSettings.InstalledPrinters
                Printer.PrinterName = PrinterName
                If Printer.IsValid = True Then
                    If PrinterName.ToLower = "pdfcreator" Then
                        PDFCreatorVorhanden = True
                        Exit For
                    End If
                End If
            Next
            If PDFCreatorVorhanden = False Then
                Throw New Exception("Der Drucker PDFCreator existiert nicht!")
            End If
            '****************************************************
            'Drucke Dokument von Notes aus
            '****************************************************
            Dim NotesUIWorkspaceType As Type = Type.GetTypeFromProgID("Notes.NotesUIWorkspace")

            Dim workspace As Object
            'Erstelle NotesObjekt
            workspace = Activator.CreateInstance(NotesUIWorkspaceType)

            'Öffne MailDatenbank
            Dim db As Object = workspace.CurrentDatabase.Database

            'Hole Dokument mit der UNID
            Dim doc As Object = db.GetDocumentByUNID(_UNID)

            ' 'Prüfe ob Dokument schon offen ist
            Dim dokIstSchonOffen As Boolean = doc.ISUIDOCOPEN

            ' 'Öffne Dokument zum Editieren
            Dim Resul As Object = workspace.Editdocument(False, doc, True, "", True, False)
            System.Threading.Thread.Sleep(1000)

            'Drucke Dokument auf dem NotesToDMS Drucker
            Resul.print(0, Nothing, Nothing, Nothing, "PDFCreator")

            'Wenn Dok am Anfang nicht offen war, dann jetzt schliessen.
            If dokIstSchonOffen = False Then
                System.Threading.Thread.Sleep(1000)
                Resul.close(True)
            End If
            Return True
        Catch ex As Exception
            MsgBox(ex.Message)
            Return False
        End Try
    End Function
--- Ende Code ---

Die wichtigste Änderung betrifft die Wartezeiten nach dem EditDocument() und dem Print().
Diese verhindern den obigen Fehler.
Leider kam schon das nächste Problem auf mit der Print-Funktion:
Bei einigen Dokumenten erscheint der Printdialog, obwohl der Drucker angegeben wurde.
Dieser Fehler ist soweit ungelöst(LN 8.5.2, FP3) und nach diesem Forum bereits gemolden:
http://www-10.lotus.com/ldd/nd85forum.nsf/5f27803bba85d8e285256bf10054620d/02281d362c9a89bf852575ef00056353?OpenDocument

Hoffe er wird bald gelöst.
Gruss Toni

Navigation

[0] Themen-Index

[*] Vorherige Sete

Zur normalen Ansicht wechseln