Avatar billede leasing Nybegynder
25. september 2009 - 15:12 Der er 5 kommentarer og
1 løsning

autotekster til access database

Via dette script:
---------------------------------------
Sub AutoText()

Dim Entry As AutoTextEntry

Documents.Add

For Each Entry In NormalTemplate.AutoTextEntries

  ' Turn bold formatting on and insert the AutoText name
  Selection.Font.Bold = True
  Selection.TypeText Text:=Entry.Name

  ' Turn bold formatting off and insert AutoText entry
  Selection.Font.Bold = False
  Selection.TypeParagraph
  Entry.Insert Where:=Selection.Range, RichText:=True
  Selection.Range.Select
  Selection.TypeParagraph

  ' Insert a blank line between entries
  Selection.TypeParagraph
Next

End Sub
---------------------------------------

kan jeg få alle autotekster ud i et nyt dokument.

Det er sådan set også meget fint, men når man har rigtig mange autotekster som skal lægges ind i normal.dot igen, så er det en tung arbejdsproces.

Det som jeg gerne vil er, at eksportere alle autotekster ind i en database og herefter kunne importere dem igen i en ny normal.dot blot ved at trykke på en knap (export/import).

Er der nogen der har nogle supergode ideer eller evt. en lille løsning.
Avatar billede supertekst Ekspert
25. september 2009 - 16:13 #1
Du må jo så have flere forskellige autotekst-samlinger. Kunne det evt. ikke lagres i en tekstfil - når du som sådan ikke anvender databasen til andet - eller?
Avatar billede Lene Fredborg Ekspert
25. september 2009 - 16:24 #2
Hvilken version af Word bruger du? (Da du skriver Normal.dot, regner jeg med, at det er Word 2003 eller tidligere).

Hvis det er tilfældet, kan du uden videre kopiere alle autotekster fra en skabelon til en anden via Assistent (f.eks. via Funktioner > Skabeloner og tilføjelsesprogrammer > Assistent).

Hvis det skal gøres via VBA, kan det f.eks. gøres sådan:

Sub CopyAutoTexts()

    Dim oAutoText As AutoTextEntry
    Dim strSource As String
    Dim strDestination As String

    strSource = "[indsæt stien til skabelonen, der skal kopieres FRA]"
    strDestination = "[indsæt stien til skabelonen, der skal kopieres TIL]"

    'Åbn source
    Documents.Open (strSource)
   
    For Each oAutoText In Templates(strSource).AutoTextEntries
        Application.OrganizerCopy Source:=strSource, Destination:=strDestination, _
            name:=oAutoText.name, Object:=wdOrganizerObjectAutoText
    Next oAutoText
   
End Sub

NB Afhængigt af, hvordan makroen evt. skal bruges, kan den jo udvides til at tjekke, om source allerede er åben, lukke igen til sidst hvis den ikke var osv.

Hvis problemet er, at du skal have Word til at lave en ny Normal.dot, kan du omdøbe den gamle først, så du stadig kan bruge den til at kopiere fra (kald den f.eks. NormalOLD.dot).
Avatar billede leasing Nybegynder
28. september 2009 - 13:46 #3
lene-fredborg> tusind tak for dit indlæg.
Jeg mangler kun lige en lille ting som du sikkert ogås kan hjælpe mig med.

Når nu alle autotekster er flyttet fra den ene normal.dot til den nynormal.dot, så vil jeg jo gerne omdøbe den gamle normal.dot til OLDnormal.dot og nynormal.dot til normal.dot. Dette skal selvfølgelig ske i scriptet, men normal.dot er åben som skrivebeskyttet. Kan jeg på nogen måde fortælle at normal.dot skal lukkes inden omdøbning af filer?
Avatar billede Lene Fredborg Ekspert
28. september 2009 - 15:52 #4
Så vidt jeg kan se, er der ikke nogen mulighed for at gøre det, du beskriver, hvis koden afvikles på en PC, der bruger den pågældende Normal.dot. Normal.dot vil da altid være i brug.

Jeg er nysgerrig efter at vide, i hvilken sammenhæng dit script skal bruges.
Avatar billede leasing Nybegynder
29. september 2009 - 08:12 #5
lene-fredborg>Grunden til, at normal.dot skal lukkes er, at den åbner normal.dot som et selvstændigt dokument når den skal kopier autotekster fra normal.dot til den nye dot. Så derfor skal normal.dot lukkes for at jeg kan omdøbe filerne.

Vi bruger navision her i huset og når der laves dokumenter, laves de i et addon som hedder matriksdoc. Af en eller anden grund bliver normal.dot større og større ved brug og til sidst tager det så lang tid at åbne dokumenter enten alm. word dokumenter eller matriksdoc dokumenter fra navision.
Når man så lader word lave en ny normal.dot så åbner den dokumenter hurtigt igen. Det er derfor vigtigt at få alle autotekster over i den nye normal.dot da alle har individuelle autotekster.

Har du været ude for at normal.dot bliver større og større?
Eller er det matriksdoc (ved ikke om du kender det) som laver normal.dot større og større.

Vil du ikke lægge et svar.
Avatar billede Lene Fredborg Ekspert
29. september 2009 - 10:52 #6
Jeg kender ikke matriksdoc, men det lyder som om, at det er der, hele problemet stammer fra. En addon (eller add-in), der er lavet hensigtsmæssigt, ændrer IKKE på brugernes Normal.dot. Det bedste vil derfor være, om du/I kan få løst det problem.

Det er en meget uheldig løsning at overskrive brugernes Normal.dot med en ny, især hvis det er noget, der sker jævnligt. Normal.dot bør være fredet til brugeren selv. Ud over autotekster, kan Normal.dot også indeholde diverse opsætninger, makroer, tilpassede værktøjslinjer, formaterede autokorrekturelementer og tastaturgenveje, som brugeren har lavet. Alt dette mistes, hvis du/I overskriver Normal.dot. Ved normalt brug vokser Normal.dot kun, hvis brugeren selv tilføjer noget til den.

Min anbefaling er hermed: find problemet med matrixdoc og få det rettet.
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