22. august 2003 - 09:10Der er
6 kommentarer og 1 løsning
Hvor er de kloge hoveder henne? Word macro.
Jeg er ved at lave en word makro, hvor man ved hjælp af en tryk knap, skal skrive et dokument ud, dobbelt sidet, hvor den første dobbelt side skal komme fra kassette 1 og resten fra kassette 2, dette er lykkedes fint. Mit problem er nu, hvis den der skriver, bruger manuelt side skift, og jeg indsætter et sektions skift efter side 2, vil der komme en blank side, så i min makro er jeg nødt til at undersøge, om der er et manuelt side skift mellem side 2 og 3, og hvis der er, skal det erstattes med et sektions skift, og hvis der ikke er, skal der også insættes et sektions skift. Hvordan søger jeg et manuelt side skift, et bestemt sted i et dokument, for herefter at erstatte det med sektions skift, ved hjælp af en makro? Jeg er nødt til at vælge sektions skift, da word kun kan arbejde med at tage første side et sted fra og resten et andet sted fra, og første for/bag side skal jo komme fra samme kassette.
Da det er din makro kan du bestemme, hvor hver enkelt side skal udskrives. Hvis du har et dokument med f.eks. 5 sider, så starter du med at tælle siderne og derefter udskrive side 1 fra kassette 1, side 2-4 fra kassette 2 og derefter side 5 fra kassette 1.
For n = 1 To AktuelSide Selection.GoTo What:=wdGoToPage, Which:=wdGoToFirst, Count:=n, Name:="" If n = 1 Or n = AktuelSide Then Options.DefaultTray = "Bakke 1" Else Options.DefaultTray = "Bakke 2" End If Application.PrintOut Range:=wdPrintCurrentPage Next n
Her er forøvrigt koden til at finde et manuelt sideskift og erstatte den med et sektionsskifte:
Sub Find() Selection.Find.ClearFormatting With Selection.Find .Text = "^m" .Replacement.Text = "" .Forward = True .Wrap = wdFindContinue End With Selection.Find.Execute Selection.Delete Unit:=wdCharacter, Count:=1 Selection.InsertBreak Type:=wdSectionBreakNextPage End Sub
Din kode til at finde og erstatte manuelt side skift, har været til stor hjælp, men det med at udskrive hver side enkelt vis forstår jeg ikke rigtigt, for det første skal man bruge 2 sider til en dobbelt side udskrift, for det andet vil "et" dokument blive til mange udskrifter, det vil sige lang print tid og ingen mulighed for efter behandling ( hæftning, sortering ovs.) Er det muligt at omskrive makroen så den istedet kan bruge en ( n side ) indput box, altså hvormange sider ønsker man at udskrive på den ene måde og hvormange sider ønsker man på den anden, før man vælger ud print, foreks. 4 første sider bakke 1 ovs.
Jeg er lige kommet tilbage fra ferie - derfor den lange svartid *S*
Alt er selvfølgeligt muligt *S* Den løsning du søger kræver dog et sektionsskifte - altså at første sektion skrives ud fra bakke 1 og anden sektion skrives ud fra bakke 2. Sektionenskifter kan så sættet ind automatisk. Er det OK ?
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.