Avatar billede mip Nybegynder
22. august 2003 - 09:10 Der 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.
Avatar billede rvm Nybegynder
22. august 2003 - 09:27 #1
Du må tænke anderledes.

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.
Avatar billede rvm Nybegynder
22. august 2003 - 09:38 #2
Prøv denne:

ub udskriv()
'Makro udarbejdet 19-08-2003 af Richardt Veje Madsen
'
AktuelSide = Selection.Information(wdActiveEndPageNumber)

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
   
   
End Sub
Avatar billede rvm Nybegynder
22. august 2003 - 09:55 #3
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
Avatar billede rvm Nybegynder
25. august 2003 - 10:02 #4
Fik du løst problemet?
Avatar billede mip Nybegynder
25. august 2003 - 21:39 #5
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.
Avatar billede rvm Nybegynder
03. september 2003 - 19:22 #6
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 ?
Avatar billede mip Nybegynder
23. september 2003 - 20:05 #7
Du hjalp mig godt på vej, tak
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
Tag et kursus i Word og øg effektiviteten

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