05. marts 2007 - 17:03Der er
8 kommentarer og 1 løsning
Gem som i Word uden at scipt og brugerform følger med
Jeg har lavet en skabelon i word, hvor de kommer en form frem når man åbner dokumentet, brugeren indtaster sine værdier der i og trykker gem hvorefter jeg indsætter hans tekst i dokumentet og gemmer det under et nyt navn. problemet er bare at det script jeg har lavet også kommer til at ligge i det nyligt gemte dokument. hvordan undgår jeg dette?
Støv, fibre og metalliske partikler kan påvirke både uptime, levetid og driftssikkerhed. Derfor arbejder flere datacentre systematisk med contamination control.
Denne kode er indlagt i Userformen: Lidt tilpasning er nødvendigt............
Const sti = "C:\Documents and Settings\pb\Skrivebord\0503SkabelonDok U.VBA\" Private Sub CommandButton1_Click() WordBasic.Insert "DETTE ER EN TEKST"
Rem marker indhold og kopier af skabelon-resultatet Selection.WholeStory Selection.Copy kopinavn = ActiveDocument.Name
Rem tilføj nyt dok. Documents.Add doknavn = ActiveDocument.Name Documents(doknavn).Activate Selection.Paste ActiveDocument.SaveAs sti + "TEST_DOKUMENT.DOC" 'navn t/dokumentet uden VBA ActiveDocument.Close
Rem luk opr. uden at gemme Documents(kopinavn).Activate ActiveDocument.Close savechanges:=wdDoNotSaveChanges
Const sti = "C:\Documents and Settings\pb\Skrivebord\0503SkabelonDok U.VBA\" Private Sub CommandButton1_Click() WordBasic.Insert "DETTE ER EN TEKST" 'skriver en tekst i dok. (test)
Rem marker indhold og kopier af skabelon-resultatet Selection.WholeStory Selection.Copy 'dok. inhold kopieres kopinavn = ActiveDocument.Name 'dok. på basis af skabelon
Rem tilføj nyt dok. - det er dette dok. der gemmes........... Documents.Add 'her oprettes endnu et dok. doknavn = ActiveDocument.Name Documents(doknavn).Activate 'det ekstra dok.aktiveres Selection.Paste 'udklipsholder indsættes ActiveDocument.SaveAs sti + "TEST_DOKUMENT.DOC" 'navn t/dokumentet uden VBA ActiveDocument.Close
Rem luk opr. uden at gemme 'det skabelon-baserede dok. Documents(kopinavn).Activate 'lukkes uden at blive gemt ActiveDocument.Close savechanges:=wdDoNotSaveChanges
End Sub
Altså: I stedet for at gemme det af skabelonen oprettede dokument - kopieres teksten herfra og over i et nyt dokument, der ikke har anden forbindelse med skabelon-dokumentet end den genererede tekst.
Du har formentlig ikke oprettet det som en skabelon (*.dot/*.dotm), men som et almindeligt Word dokument, hvor du så har placeret koden.
Opret i stedet en skabelon - på den måde fungerer Word efter hensigten, og du får i stedet Word dokumenter, der har en reference til koden, men som altså ikke indeholder selve koden.
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.