Das Notes Forum

Lotus Notes / Domino Sonstiges => Companion Products => Thema gestartet von: Harald Wendt am 30.01.08 - 08:56:13

Titel: Notes hängt sich auf, beim Druck über Netzwerkdrucker bei Open "PRN" for Output
Beitrag von: Harald Wendt am 30.01.08 - 08:56:13
Hallo miteinander,
ich habe da ein Problem  :-:  mit dem nachfolgenden Script, wenn der Drucker nicht lokal angeschlossen ist. Dann habe ich die EierUhr und das war es denn.
Gedruckt werden soll eine formatierte Liste von Teilnehmern.
Ich habe da mit Escape-Sequenzen zur Druckerinitialisierung gearbeitet, da ich sonst keinen vernünftigen Ausdruck - wie gewünscht/erforderlich - realisieren konnte.
Meine Frage: gibt es eine Möglichkeit, dass Notes zuvor feststellen kann, ob ein lokaler Drucker angeschlossen ist ?

                On Error Resume Fehler
   Dim session As New notessession         
   Dim wks As New NotesUIWorkspace
   Dim Doc As NotesDocument
   Dim db As NotesDatabase
   Dim FileName As String
   Dim DateiName As String
   Set uidoc = wks.CurrentDocument
   Set session = New NotesSession
   Set db = Session.Currentdatabase   
   Set Doc = wks.CurrentDocument.Document
   
   FieldList=Evaluate(|Teilnehmer2_2|,doc)
   
   Dim TempFile As Variant
   Redim TempFile (0 To Ubound(Fieldlist))
   A = -1
   Forall Data0 In Fieldlist
      Data3=""
      Data2=""
      Data1=""
      A = A +1
      
      X = Instr(Data0," ") 'das 1.Leerzeichen im Text ermitteln = Vorname
      Data1 = Mid(Data0,1,X-1)  'Vorname = Text bis zum Leerzeichen
      Data2 = Mid(Data0,X+1,Len(Data0))  'Nachname = Text ab Leerzeichen
      
      'mal sehen, ob im Nachnamen noch ein Leerzeichen enthalten ist
      X = Instr(Data2," ")   '3.
      'falls Ja, dann
      If X > 0 Then
         Data3 = Mid(Data2,X+1,Len(Data2))
         Data2 = Left(Data2,X-1)
      End If
      
      'Zusammensetzen des neuen Textes (Nachname, Vorname)
      If Data3 > "" Then
         Data0 = Data3+", "+Data1+" "+Data2 'Nachname, Vorname1 + Vorname2
      Else
         'wenn Data3 nichts enthält
         Data0 = Data2+", "+Data1 'Nachname, Vorname1
      End If
      TempFile(A) = Data0
   End Forall
   
   Call QuickSort(TempFile)
   Call doc.ReplaceItemValue("Teilnehmer2_2",SortedArray)
   
   FieldList=Evaluate(|Teilnehmer2_2|,doc)
   
   SpacesUnderLine = "_______________________________________________________________________"
   
   Open "PRN" For Output As #1   
   Print #1, Chr$(027);Chr$(037);Chr$(045);Chr$(049);Chr$(050);Chr$(051);Chr$(052);Chr$(053);Chr$(088)
   Print #1, Chr$(027);Chr$(040);Chr$(057);Chr$(085)
   Print #1, Chr$(027);Chr$(040);Chr$(115);Chr$(051);Chr$(066)   
   Print #1, doc.ProductArea(0)
   Print #1 , doc.title_(0)
   Print #1, "am "+Cstr(doc.Date__1(0) )
   Print #1, Chr$(13)
   Print #1, Chr$(13)
   Print #1, Chr$(13)
   
   Forall Data In Fieldlist
      Temp = Data + Mid(SpacesUnderLine,1, (Len(SpacesUnderLine)-Len(Data)) )
      Print #1, Temp
      Print #1, Chr$(13)
   End Forall
   Print #1, Chr$(027);Chr$(037);Chr$(045);Chr$(049);Chr$(050);Chr$(051);Chr$(052);Chr$(053);Chr$(088)
   Close #1
   uidoc.refresh
   Exit Sub
Fehler:
End Sub

Gruß Harald
Titel: Re: Notes hängt sich auf, beim Druck über Netzwerkdrucker bei Open "PRN" for Out
Beitrag von: m3 am 30.01.08 - 12:13:37
Der junge Mann mit der Leseschwäche (http://atnotes.de/projekte/bp/team/tmc/_forumsregeln/rules001.html#23) hat mitlerweile eine Lösung gefunden (http://www.dominoforum.de/modules/newbb/viewtopic.php?topic_id=17642&forum=47&post_id=100105#forumpost100105).
Titel: Re: Notes hängt sich auf, beim Druck über Netzwerkdrucker bei Open "PRN" for Output
Beitrag von: klaussal am 30.01.08 - 12:34:22
Dann wollen wir die hier auch mal reinhängen:

Zitat
Declare Function GetProfileString Lib "Kernel32" Alias "GetProfileStringA" (Byval lpAppName As String, Byval lpKeyName As String, _
Byval lpDefault As String, Byval lpReturnedString As String, Byval nSize As Long) As Long

def$ = String(128, 0)
di = GetProfileString("WINDOWS", "DEVICE", "", def$, 127)
Print Trim(def$)


es kommt ein String zurück, in dem an erster Stelle der Drucker steht. Beginnt der mit "\\" handelt es sich in der Regel um einen Netzwerkdrucker. An 3. Stelle Steht die Schnittstelle (z.B. LPT1, LPT2 usw.).

Titel: Re: Notes hängt sich auf, beim Druck über Netzwerkdrucker bei Open "PRN" for Out
Beitrag von: koehlerbv am 30.01.08 - 20:08:58
Cool - mal wieder ein Doppelposting ...

Die Antwort von Dirk ist hervorragend. Irgendwann wird man das sicher auch brauchen und braucht nicht mehr suchen.

Und das Problem von Harald hat m.E. nichts mit Notes zu tun. Dem ist es bei passenden Einstellungen egal, wie der Drucker seine Daten kriegt: Parallel, USB, IP oder sonstwas. Den Fehler müsste man auf OS-Ebene suchen (ich drucke auch auf Drucker, die sonstwie angeschlossen sind und hatte noch nie Probleme).

Bernhard
Titel: Re: Notes hängt sich auf, beim Druck über Netzwerkdrucker bei Open "PRN" for Out
Beitrag von: ata am 30.01.08 - 21:24:12
... ich denke das wäre eher bei "Companion & COM" aufgehoben - ich verschieb's