Avatar billede rickypriv Nybegynder
14. februar 2002 - 12:39 Der er 14 kommentarer og
1 løsning

(Macro?)-Program til at konvertere sideopsætning og skrifttype på mange dokumenter?

Hej ..

Dette er et af sp. for de langhårede!

Findes der et program, enten shareware, eller macro program eller andet i den retning, som kan tage en lang række word-dokumenter, og convertere dem om til en ny opsætning.

Når jeg siger opsætning menes der sidehoved, sidefod, skifttype/størrelse, afstand til magin osv.

Grunden er at en virksomheden har skiftet navn, og har flere tusind sags-filer liggende som skal have ændret udseende.

Alternativet er at de skal sidde og skifte det om manuelt hver gang de åbner en fil med gammelt "layout".

Jeg giver 150 point til guru'en som kan hjælpe her! :)
Avatar billede mile Juniormester
14. februar 2002 - 12:41 #1
Kan du ikke bare indspille en makro, der udfører den pågældende sideopsætninger, markerer alt, og ændrer skrifttype. Efterflg. kan makroen indsættes som en knap på værktøjslinien, og ved åbning af de gamle dokumenter, klikker man så på knappen, og efterflg. "Gem".
Avatar billede rickypriv Nybegynder
14. februar 2002 - 12:54 #2
Jeg er desværre en spade til macro kodning.. :(
Men jo, det var da en mulighed.
Avatar billede ib_14 Nybegynder
14. februar 2002 - 12:59 #3
prøv at bruge f1 tasten der hvor du har problemet altså du laver først en makro og gemmer så går du ind i funktioner og vælger makro og så makroer det åbner en dialogbox som giver dig mulighed for at redigerer din makro du er nu i vba og der sætter du pormten og trykker på f1 så skal du se noget prøv også eksembler der hvor du kommer hen til sidst finder du menu pungtet compiller så vil den fortælle dig hvor du har fejl indtastninger
Avatar billede ib_14 Nybegynder
14. februar 2002 - 13:01 #4
prøv at skrive denne sætning i word
=rand()  og tryk så på enter tasten
Avatar billede ib_14 Nybegynder
14. februar 2002 - 13:02 #5
hvis du kan bruge svaret så er jeg altså kaseklippet
Avatar billede rvm Nybegynder
14. februar 2002 - 13:05 #6
Her er et loop, der åbner de dokumenter, der ligger i en mappe eller i undermapper til mappen. I dette tilfælde sættes en konstant i dokumentet, men du kan optage de ændringer du gerne vil have foretaget på dokumenterne og klippe dem ind i loop'et

Sub Løkke()

  With Application.FileSearch
        .NewSearch
        .LookIn = "C:\Documents and Settings\rima2-pc1\Skrivebord\Kodeeksempler"
        .FileName = "*.*"
        .SearchSubFolders = True
        .Execute
        .FileType = msoFileTypeWordDocuments
       
        For i = 1 To .FoundFiles.Count
            Documents.Open FileName:=.FoundFiles(i)
           
            'Her kan gøres alt muligt ved det aktuelle åbne dokument
            'I dette tilfælde sideopsætningen
            With ActiveDocument.PageSetup
                    .LineNumbering.Active = False
                    .Orientation = wdOrientPortrait
                    .TopMargin = CentimetersToPoints(2.7)
                    .BottomMargin = CentimetersToPoints(3)
                    .LeftMargin = CentimetersToPoints(1.7)
                    .RightMargin = CentimetersToPoints(2)
                    .Gutter = CentimetersToPoints(0)
                    .HeaderDistance = CentimetersToPoints(1.25)
                    .FooterDistance = CentimetersToPoints(1.25)
                    .PageWidth = CentimetersToPoints(21)
                    .PageHeight = CentimetersToPoints(29.7)
                    .FirstPageTray = wdPrinterDefaultBin
                    .OtherPagesTray = wdPrinterDefaultBin
                    .SectionStart = wdSectionNewPage
                    .OddAndEvenPagesHeaderFooter = False
                    .DifferentFirstPageHeaderFooter = False
                    .VerticalAlignment = wdAlignVerticalTop
                    .SuppressEndnotes = False
                    .MirrorMargins = False
                    .TwoPagesOnOne = False
                    .BookFoldPrinting = False
                    .BookFoldRevPrinting = False
                    .BookFoldPrintingSheets = 1
                    .GutterPos = wdGutterPosLeft
                    .SectionDirection = wdSectionDirectionLtr
                End With
               
                'Ændring af skriftstørrelse
                Selection.WholeStory
                With Selection.Font
                    .Name = "Times New Roman"
                    .Size = 12
                    .Bold = False
                    .Italic = False
                    .Underline = wdUnderlineNone
                    .UnderlineColor = wdColorAutomatic
                    .StrikeThrough = False
                    .DoubleStrikeThrough = False
                    .Outline = False
                    .Emboss = False
                    .Shadow = False
                    .Hidden = False
                    .SmallCaps = False
                    .AllCaps = False
                    .Color = wdColorAutomatic
                    .Engrave = False
                    .Superscript = False
                    .Subscript = False
                    .Spacing = 0
                    .Scaling = 100
                    .Position = 0
                    .Kerning = 0
                    .Animation = wdAnimationNone
                    .SizeBi = 14
                    .NameBi = "Times New Roman"
                    .BoldBi = False
                    .ItalicBi = False
                End With
               
                'Ændring af sidehovedet
                If ActiveWindow.View.SplitSpecial <> wdPaneNone Then
                    ActiveWindow.Panes(2).Close
                End If
                If ActiveWindow.ActivePane.View.Type = wdNormalView Or ActiveWindow. _
                    ActivePane.View.Type = wdOutlineView Then
                    ActiveWindow.ActivePane.View.Type = wdPrintView
                End If
                ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageHeader
                Selection.TypeText Text:="sdfgdsgd"
                'Lukker sidehovedet
                ActiveWindow.ActivePane.View.SeekView = wdSeekMainDocument
                        ActiveDocument.Close SaveChanges:=wdSaveChanges
            Next
    End With
End Sub
Avatar billede ib_14 Nybegynder
14. februar 2002 - 13:06 #7
ellers må du sende mig noget som jeg kan løse problemet for dig altså noget som liner den fil som du vil lave om og noget så jeg kan se hvad jeg skal lave den om til
ib_14@hotmail.com
Avatar billede rickypriv Nybegynder
14. februar 2002 - 15:26 #8
rvm :
Det ser virkeligt kanont ud det du der laver ..
Men nuværende har vi en makro der åbner et "Standard-dokument" ud fra en Normal.dot i brugerens private mappe.
Kan du justere koden så den tager blot laver dokumentet om til at følge opsætningen for den nye "normal.dot" ?
Det ville jo gøre det hele lidt nemmere. :)

ib_14 :
Jeg kan desværre ikke se hvad jeg skal bruge din oplysning om at du er karseklippet til!
Avatar billede rvm Nybegynder
14. februar 2002 - 18:25 #9
Hej rickypriv

Jeg forstår ikke rigtigt hvad du vil have mig til *S*

Jeg troede du havde en masse doumenter du ville have lavet om på en gang, så det nye layout afspejlede sig direkte i dem. Min kode er bare et forslag, hvor du f.eks. selv kan skrive hvilke fontstørrelse du vil have (bare skriv 14 i stedet for 12) og hvilke marginer der skal være.
Avatar billede rickypriv Nybegynder
15. februar 2002 - 10:16 #10
Okay rvm .. jeg ser om ikke jeg skulle kunne finde ud af det. :)
Kan den tage undermapper med ?

Grunden til at jeg spørger om vb koden kan laves så den blot følger opsætningen i en normal.dot fil, er at der på deres brevpapir er forskel på opsætning mth placering af navne og adresser og sådan . :)

Derfor tænkte jeg om man kunne lave makroen så den tog word-dokumenterne og lavede dem om så de passede med layoutet for det nye design.
Avatar billede rvm Nybegynder
15. februar 2002 - 10:25 #11
Min kode kan godt tage undermapper med (.SearchSubFolders = True) *S*

Det er ikke sådan lige at lave om på dokumeter der allerede er skrevet, hvis de ikke er ens - det kræver at man kender alle forskelligehder og tager højde dfor dem i koden - meget omstændigt...

Men det er ikke så godt i har fosekelige brevstandarder. Det ville være bedre, hvis alle brugte samme skabelon, der under opstart personificerede skabelonen ved f.eks. at hente brugernes data i en fil lagt på computeren og sætte dem ind ved et bogmærke.
Avatar billede rickypriv Nybegynder
16. februar 2002 - 11:40 #12
Okay .. det er sq lidt for omstændig for mig tror jeg nok .. :D

Jeg havde lige en snak med ledelsen, og den løsning der ville passe dem bedst var at de blot havde en knap der lavede det åbne dokument om til den nye opsætning ..

Jeg er sq tæmmelig ked af at spørge om du vil tilrette/lave om på makoen så den sætte dokumentet op til at følge de nye standardeer.

Hvis du lige vil lave den om acceptere jeg .. og jeg kyler også lige yderligere 50 point på for dit hårde arbejde.
Avatar billede rvm Nybegynder
16. februar 2002 - 12:11 #13
OK - men hvad er den nye opsætning *S*

Send mig en kopi af din færdige skabelon og eventylt et gammelt dokument, så kikker jeg på det. rvejemad@sca.csc.com

M.h.t. knappen, så skal den vel værre hos alle brugerne, så vi må finde en måde at distribuere den på som passer godt til dig.

Den kunne ligge i en ny Normal.dot som brugerne skal have.

Mvh

Richardt
Avatar billede rickypriv Nybegynder
16. februar 2002 - 12:51 #14
Ja, knappen skal være hos alle brugere.

Jeg plejer selv at gøre det, når jeg skal distribuere "knappen" at jeg har koden til at ligge i en txt fil, og så sætter jeg den bare ind under alle de andre macro'er i VB-editoren, hos de enkelte brugere, og tilføjer så jeg knappen. Det skal kun gøres 14 steder, så det er til at overleve.. :D

Den var den fremgangsmåde jeg fik vist da jeg overtog administrationen af virksomhedens edb-system. Men det skulle da ikke undre mig om der findes en nemmere og smartere måde at dele macro'er på.

Jeg sender dig en mail, når vi har en skabelon klar med den nye opsætning.
Avatar billede rvm Nybegynder
17. februar 2002 - 17:55 #15
Hej rickypriv

Tak for skabelonen *S*

Her er koden, der passer til dit behov:

Sub Knap()

    Selection.WholeStory
    Selection.Font.Name = "Times New Roman"
    Selection.Font.Size = 11
    Selection.MoveUp Unit:=wdLine, Count:=1
    With ActiveDocument.PageSetup
        .TopMargin = CentimetersToPoints(3.6)
        .BottomMargin = CentimetersToPoints(3)
        .LeftMargin = CentimetersToPoints(2.5)
        .RightMargin = CentimetersToPoints(2.6)
        .Gutter = CentimetersToPoints(0)
        .HeaderDistance = CentimetersToPoints(3.6)
        .FooterDistance = CentimetersToPoints(3)
    End With

End Sub

Jeg sender en dot-fil til dig som du bare kan lægge i words startbibliotek hos hver bruger - så vil knappen af sig selv komme frem på værktøjslininen (det gør den hos mig)
Start bibliotket finder du under  Funktioner/Instillinger/Filplacering

Held og lykke med det

Richardt
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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