Avatar billede lwi Nybegynder
04. april 2006 - 12:44 Der er 7 kommentarer og
1 løsning

Macro, der indsætter tabel i word med fast størrelse og tekst

I en skabelon skal det være muligt at indsætte en tabel med en fast størrelse og "fortrykt" tekst. Macro'en skal kører både i 2000 og 2003 (Engelsk). Jeg har lavet følgende, men ryger ud i problemer, når jeg vil indsætte tabellen anden gang. Formentlig p.g.a. koden "tabels(1)"

Så Haj søges !

Sub tabel()
'
' Macro recorded 02-03-2005 by Lene Winkel
'
aVersion = Application.Version

    If aVersion = "9.0" Then
        GoTo 2000
       
    Else
       
    ActiveDocument.Tables.Add Range:=Selection.Range, NumRows:=3, NumColumns:= _
        2, DefaultTableBehavior:=wdWord9TableBehavior, AutoFitBehavior:= _
        wdAutoFitFixed
        '''
          ActiveDocument.Tables.Add Range:=Selection.Range, NumRows:=3, NumColumns:= _
        2, DefaultTableBehavior:=wdWord9TableBehavior, AutoFitBehavior:= _
        wdAutoFitFixed
    With Selection.Tables(1)
        If .Style <> "Table Grid" Then
            .Style = "Table Grid"
        End If
        .ApplyStyleHeadingRows = True
        .ApplyStyleLastRow = True
        .ApplyStyleFirstColumn = True
        .ApplyStyleLastColumn = True
    End With
End Sub
        '''
       

    Selection.Tables(1).Columns(1).PreferredWidth = CentimetersToPoints(2.55)
    Selection.Tables(1).Columns(2).PreferredWidth = CentimetersToPoints(20.69)
    Selection.Tables(1).Rows.SetLeftIndent LeftIndent:=47.5, RulerStyle:= _
        wdAdjustNone


GoTo Bye

    End If
   
2000:

ActiveDocument.Tables.Add Range:=Selection.Range, NumRows:=3, NumColumns:= _
        2, DefaultTableBehavior:=wdWord9TableBehavior, AutoFitBehavior:= _
        wdAutoFitFixed
    Selection.Tables(1).Select
    Selection.Cells.VerticalAlignment = wdCellAlignVerticalCenter
    Selection.Collapse Direction:=wdCollapseStart
    Selection.Move Unit:=wdColumn, Count:=-1
    Selection.SelectColumn
    Selection.Columns.PreferredWidthType = wdPreferredWidthPoints
    Selection.Columns.PreferredWidth = CentimetersToPoints(2.55)
    Selection.Move Unit:=wdColumn, Count:=1
    Selection.SelectColumn
    Selection.Tables(1).Rows.LeftIndent = CentimetersToPoints(1.68)
    Selection.Columns.PreferredWidthType = wdPreferredWidthPoints
    Selection.Columns.PreferredWidth = CentimetersToPoints(20.69)
    Selection.MoveDown Unit:=wdLine, Count:=1
   
Bye:

Selection.Tables(1).Select
    With Selection.ParagraphFormat
        .SpaceBefore = 5
    End With
    Selection.Font.Size = 7.5
   
   
    Selection.MoveUp Unit:=wdLine, Count:=1
        Selection.MoveDown Unit:=wdLine, Count:=1
    Selection.TypeText Text:="Observation:"
    Selection.MoveRight Unit:=wdCell
    Selection.MoveRight Unit:=wdCell
    Selection.TypeText Text:="Bemærkninger:"
    Selection.MoveRight Unit:=wdCell
    Selection.MoveRight Unit:=wdCell
    Selection.TypeText Text:="Forslag:"
    Selection.MoveUp Unit:=wdLine, Count:=2
    Selection.MoveRight Unit:=wdCell
End Sub
Avatar billede lwi Nybegynder
04. april 2006 - 13:21 #1
Kan se, at jeg stammer lidt teksten fra ''' til ''' er ikke med i macroen. Macroen er således:
aVersion = Application.Version

    If aVersion = "9.0" Then
        GoTo 2000
       
    Else
       
    ActiveDocument.Tables.Add Range:=Selection.Range, NumRows:=3, NumColumns:= _
        2, DefaultTableBehavior:=wdWord9TableBehavior, AutoFitBehavior:= _
        wdAutoFitFixed
       

    Selection.Tables(1).Columns(1).PreferredWidth = CentimetersToPoints(2.55)
    Selection.Tables(1).Columns(2).PreferredWidth = CentimetersToPoints(20.69)
    Selection.Tables(1).Rows.SetLeftIndent LeftIndent:=47.5, RulerStyle:= _
        wdAdjustNone


GoTo Bye

    End If
   
2000:

ActiveDocument.Tables.Add Range:=Selection.Range, NumRows:=3, NumColumns:= _
        2, DefaultTableBehavior:=wdWord9TableBehavior, AutoFitBehavior:= _
        wdAutoFitFixed
    Selection.Tables(1).Select
    Selection.Cells.VerticalAlignment = wdCellAlignVerticalCenter
    Selection.Collapse Direction:=wdCollapseStart
    Selection.Move Unit:=wdColumn, Count:=-1
    Selection.SelectColumn
    Selection.Columns.PreferredWidthType = wdPreferredWidthPoints
    Selection.Columns.PreferredWidth = CentimetersToPoints(2.55)
    Selection.Move Unit:=wdColumn, Count:=1
    Selection.SelectColumn
    Selection.Tables(1).Rows.LeftIndent = CentimetersToPoints(1.68)
    Selection.Columns.PreferredWidthType = wdPreferredWidthPoints
    Selection.Columns.PreferredWidth = CentimetersToPoints(20.69)
    Selection.MoveDown Unit:=wdLine, Count:=1
   
Bye:

Selection.Tables(1).Select
    With Selection.ParagraphFormat
        .SpaceBefore = 5
    End With
    Selection.Font.Size = 7.5
   
   
    Selection.MoveUp Unit:=wdLine, Count:=1
        Selection.MoveDown Unit:=wdLine, Count:=1
    Selection.TypeText Text:="Observation:"
    Selection.MoveRight Unit:=wdCell
    Selection.MoveRight Unit:=wdCell
    Selection.TypeText Text:="Bemærkninger:"
    Selection.MoveRight Unit:=wdCell
    Selection.MoveRight Unit:=wdCell
    Selection.TypeText Text:="Forslag:"
    Selection.MoveUp Unit:=wdLine, Count:=2
    Selection.MoveRight Unit:=wdCell
End Sub
Avatar billede rvm Nybegynder
04. april 2006 - 22:35 #2
I stedet for at kode indsættelsen og udarbejdelse af tabellen, så skulle du tage brug af Words indbyggede metode - Autotekst.

1. Lav din tabel som du ønsker
2. Marker alt du vil have med
3. Vælg Indsæt/Autotekst/Ny
4. Giv Autoteksten et navn
5. Optag med makrooptageren at du indsætter Autoteksten
Avatar billede lwi Nybegynder
05. april 2006 - 07:55 #3
Det er ikke mig, men alle vores brugere, der skal anvende skabelonen. Autotekster bliver gemt i normaldotten og ikke i dokumentet (skabelonen), og vil således ikke være tilgængelig for brugerne - eller ?
Avatar billede rvm Nybegynder
05. april 2006 - 15:11 #4
Autoteksten vil være tilgængelig for brugerne, når den er gemt i skabelonen og når skabelonen er åben eller et dokument som er lavet på baggrund af skablonene er åbent.
Avatar billede lwi Nybegynder
06. april 2006 - 10:53 #5
hvordan gemmer jeg en autotekst i et dokument og ikke i normal-dotten ?
Avatar billede rvm Nybegynder
06. april 2006 - 20:43 #6
En autotekst vil altid blive gemt i Normal.dot, men du kan flytte den over i din skabelon via:

Funktioner/Skabeloner og tilføjelsesprogrammer
Vælg knappen "Assistent..."
Sørg for at det er din skablon, der er åben i det ene vindue og normal.dot i det andet.
Vælg Fanen Autotekster og overfør din autotekst fra Normal.ddot til din skabelon
Avatar billede lwi Nybegynder
11. april 2006 - 08:46 #7
Hej - tak for hjælpen og undskyld den sene tilbagemelding. Det lykkedes mig at lave tabellen som en autotekst og få den gemt i dokumentet. Jeg løb dog ind i lidt problemer, idet vores dokumenthåndteringsprogram behandler skabeloner noget anderledes end normalt. Vores dokument-skabeloner er faktisk almindelige dokumenter (doc) - og deri kan man ikke gemme autotekster. Men - jeg fik gemt autoteksten i vores systemskabelon, og genvejstasten har jeg så lavet i dokument-skabelonen. Tak for ideen med autoteksten.

RVM - sender du et svar, så du kan få points !
Avatar billede rvm Nybegynder
11. april 2006 - 13:00 #8
Ja - de dokumenthåndteringssystemer - man skulle tro, der der laver dem aldrig har prøvet de lidt mere avancerede funktioner i Word :-)
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