Avatar billede tmouritsen Nybegynder
31. januar 2002 - 19:53 Der er 2 kommentarer og
1 løsning

Word: Automatisk dobbeltsidet udskrift

Da jeg brugte Win9x havde jeg en mulighed for at lave dobbeltsidet udskrift. Det har jeg så set i dag at ikke bliver en mulighed i WinXP. Jeg bruger samtidigt at udskrive 2 sider på hver side, altså 4 sider på et ark papir i alt.

Derfor søger jeg efter en måde at lave en macro der automatisk kan udskrive side 1-2, 5-6, 9-10, 3-4, 7-8 - i et eksempel på 10 sider. Altså skal den skrive 2 sider ud, springe 2 sider over, skrive 2 sider ud, ...
Derefter skal den så holde en pause, hvor jeg kan lægge papiret tilbage i bakken og derefter skrive resterende sider ud.

Jeg er ikke nogen HAJ til VBA!!!!

Så hvordan?
Avatar billede dimle Nybegynder
01. februar 2002 - 12:24 #1
Jeg tror du kan gøre sådan en jeg har bare lige skrevet det og har slet ikke tjekket det!

'
' Udskriv Makro
' Makro indspillet 01-02-02 af Dimle
'
Dim Start As Integer, Slut As Integer, Start2 As Integer, Slut2 As Integer
Dim tælAntal As Byte
tælAntal = 0

If wdFieldNumPages > 4 Then
    Start = 1: Slut = 2: Start2 = 5: Slut2 = 7
    Do
        If wdFieldNumPages >= Slut Then
            tælAntal = tælAntal + 1
            Application.PrintOut FileName:="", Range:=wdPrintRangeOfPages, Item:= _
                wdPrintDocumentContent, Copies:=1, Pages:=Start & "-" & Slut, PageType:= _
                wdPrintAllPages, Collate:=False, Background:=True, PrintToFile:=False
        End If
        Start = Start + 2: Slut = Slut + 2
        Slut2 = Slut2 + 2
        If tælAntal = 2 Then
            'Indsæt pause til at lægge papir i printeren
            tælAntal = 0
        End If
    Loop Until Slut >= wdFieldNumPages Or Slut2 >= wdFieldNumPages
   
    tælAntal = 0
    Start = 1: Slut = 2: Start2 = 5: Slut2 = 7
    Do
        If wdFieldNumPages >= Slut2 Then
            tælAntal = tælAntal + 1
            Application.PrintOut FileName:="", Range:=wdPrintRangeOfPages, Item:= _
                wdPrintDocumentContent, Copies:=1, Pages:=Start2 & "-" & Slut2, PageType:= _
                wdPrintAllPages, Collate:=False, Background:=True, PrintToFile:=False
        End If
        Start2 = Start2 + 2: Slut2 = Slut2 + 2
        Slut = Slut + 2
        If tælAntal = 2 Then
            'Indsæt pause til at lægge papir i printeren
            tælAntal = 0
        End If
    Loop Until Slut >= wdFieldNumPages Or Slut2 >= wdFieldNumPages
Else

End If
Avatar billede tmouritsen Nybegynder
01. februar 2002 - 14:37 #2
Det ser fornuftigt ud. Jeg kigger på det i weekenden vender tilbage med nogle point.
Avatar billede dimle Nybegynder
02. februar 2002 - 21:26 #3
wdFieldNumPages giver ikke antal sider i dokumentet som jeg havde tænkt at det skulle... men det er altså det tal der skulle stå der i stedet for!!!
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester