Avatar billede rocky Nybegynder
27. oktober 2009 - 14:17 Der 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.

Håber I kan hjælpe!

Mvh
Rocky
Avatar billede supertekst Ekspert
27. oktober 2009 - 15:04 #1
Skal rekv.nr. ikke skrives i et tilsvarende felt?
Er der tale om formularfelter?
Avatar billede tjacob Juniormester
27. oktober 2009 - 15:06 #2
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.

ActiveDocument.Protect Password:="123", NoReset:=False, Type:= _
        wdAllowOnlyReading, UseIRM:=False, EnforceStyleLock:=True

End Sub

Hvor du så skal have de korrekte indstillinger i Protect-delen.
-Find dem ved at optage en makro.
Avatar billede rocky Nybegynder
27. oktober 2009 - 16:04 #3
Det virker efter hensigten! Tak for hjælpen
Smid et svar, så giver jeg point
Avatar billede rocky Nybegynder
27. oktober 2009 - 16:07 #4
@Supertekst

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

Men tjacobs løsning fungerer perfekt.
Avatar billede tjacob Juniormester
27. oktober 2009 - 16:09 #5
OK, -svar.

Jeg har selv brugt det samme trick i Excel flere gange.
Avatar billede tjacob Juniormester
27. oktober 2009 - 16:09 #6
-glemmer det altid.........
Avatar billede rocky Nybegynder
28. oktober 2009 - 08:17 #7
:)

Ha en god dag
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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