Jeg har en agent som skal udskrive forskellige dokumenter. Mit problem er at jeg gerne vil have den til at udskrive et dokument inden den går videre til at udskrive det næste.
Jeg kan eventuelt stoppe agent-tråden ved at bruge codelock, men jeg ved ikke hvornår programmet er færdig med at printe.
Er der noget der ved om man kan lave codelock på en system variabel (eller lignende...), som gør at jeg kan stoppe agenten indtil dokumentet er udskrevet ?? Hvis i eventuelt kan komme med en anden løsning til dette problem er det perfekt.
Jeg printer et dokument ad gangen ved at oprette dokumentet ved at åbne det med UI kode, UI-print og UIClose(Immediatedly) og så næste dokument. UI-afhngigheden gør at dokumentet. Hvis du allerede anvender UI-kode, så vis den her på siden så vi kan ret den til.
Set Doc = view.GetFirstDocument While Not doc Is Nothing Call UIView.SelectDocument( Doc ) Select Case Ucase(doc.CaseSkuffeStyring(0))
Case "POLICE", "SKADE SPECIFIKATION", "BREV", "SPECIFIKATION", "BILAG" Call uiview.Print(1) ' udskriver 1 kopi fra side 1 til side 99 på bakke 2 (=Logo papir) Call Printdocument("Tray2Logopapir", printernavn, uiview.ViewName, templib)
End Select Call view.refresh() Call Workspace.ViewRefresh Set doc = view.GetFirstDocument
Det er efter jeg har lavet kaldet "Call uiview.Print(1)" (som printer til en fil) jeg skal være sikker på at den er færdig med at printe inden min egen metode "Printdocument" bliver kaldt.
Ok, sådan ligger landet. Den er ikke helt nem. Jeg tror min kode ligner din lidt og jeg har derfor ikke løsningen liggende. Problemet er mao at du via UIPrint for skabt en slags PDF-fil (er det korrekt?) og den har sikkert samme navn ved hver print, korrekt? Umiddelbart ville det kunne løses ved at PDF-printningen genererer unikke filnavne, og at du efterfølgende ÉN gang kalder din egen Printdocument, som udskriver alle filer i templib og derefter flytter/sletter dem.
Det er korrekt at mit dokument har samme filnavn hver gang, men det kunne nu sagtens ændres. Problemet ligger i at dokumenterne ikke skal udskrives fra samme skuffe hver gang og der for at det nødvendigt at kalde min printrutine efter hver dokument.
Den "Select Case" jeg har vist i eksemplet viser kun en dokumentype (for at det skal være overskueligt...), men den indeholder mange flere muligheder. Og hver dokumenttype har kan have forskellige måder de skal udskrives på.
Har du andre gode forslag, jeg har lidt svært ved at se en løsning på dette problem...
Du kan holde øje med rækkefølgen ved at gemme udskriftsdata i en liste/array og så sammenligne dem med rækkefølgen i udskriftsbiblioteket (oprettelsestidspunktet), så burde den være hjemme ...
Du har ret i at det kan gøres på den måde, men vi har helt droppet den måde at udskrive på, så jeg får det ikke testet. Men siden du fandt en løsning kan du smide et svar, så kommer der points.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.