27. oktober 2009 - 14:17Der er
6 kommentarer og 1 løsning
Automatisk kørsel af makro i beskyttet word skabelon
Hej alle
Jeg har fået til opgave at udarbejde en standardskabelon hvor der automatisk vises et rekvisitionsnummer.
Makroen der sørger for dette ser således ud
---------------------------------------- Sub rekvisitionsnummer() ' ' rekvisitionsnummer Makro ' ' Sub AutoNew() ' ' Rekvnr Makro ' Makro oprettet 27-10-2009 af Rocky ' Dim MyString, quotNumber FileToOpen = "\\okprd22\DC Fredericia\Rekvisitionsnr\rekvisitionsnr.txt" Open FileToOpen For Input As #1 ' Open file for input. Input #1, quotNumber ' Read data Close #1 ' Close file ActiveDocument.Bookmarks("nr").Select Selection.InsertAfter Text:=quotNumber quotNumber = quotNumber + 1 Open FileToOpen For Output As #1 ' Open file for output. Write #1, quotNumber Close #1 ' Close file.
End Sub --------------------------------------------
Hver gang brugerne åbner dokumentet, startes makroen og åbner filen rekvisitionsnr.txt. Her lægger makroen 1 til det tal der i forvejen står i txt filen [+1]. Det skriver makroen herefter ned i skabelonen under Bookmark "nr"
Skabelonen er beskyttet således brugerne kun kan skrive i enkelte felter, mit problem er at når jeg beskytter dokumentet, så kan makroen ikke få lov til at skrive rekvisitionsnummeret i skabelonen.
Jeg synes jeg har prøvet på kryds og tværs, men jeg har ikke kunne finde nogen løsning på problemet. Det er ikke nødvendigt at det automatiske nummer kommer fra makroen, hvis man kan gøre det på anden vis er det også helt fint.
Jeg har både office 2003 og 2007 til rådighed, men arbejder helst i 2007.
Måske du kunne slå beskyttelsen fra i begyndelsen af din makro -køre koden- og så slå beskyttelsen til igen.
Noget a la:
Sub AutoNew() ' ' Rekvnr Makro ' Makro oprettet 27-10-2009 af Rocky ' ActiveDocument.Unprotect Password:="123"
Dim MyString, quotNumber FileToOpen = "\\okprd22\DC Fredericia\Rekvisitionsnr\rekvisitionsnr.txt" Open FileToOpen For Input As #1 ' Open file for input. Input #1, quotNumber ' Read data Close #1 ' Close file ActiveDocument.Bookmarks("nr").Select Selection.InsertAfter Text:=quotNumber quotNumber = quotNumber + 1 Open FileToOpen For Output As #1 ' Open file for output. Write #1, quotNumber Close #1 ' Close file.
Jeg prøvede at lave en makro i et formular felt, men det virker kun hvis man klikker på feltet, makroen er lavet så den kører når dokumentet åbner og derfor får den stadig ikke lov at skrive ned i et vilkårligt sted
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.