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?
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.