Avatar billede pho2ke Nybegynder
07. august 2005 - 20:51 Der er 6 kommentarer

automatisk nummerering af dokument

Jeg har en skabelon som jeg ofte bruger.
Hver gang jeg gemmer et nyt dokument fra skabelonen skal det nye dokument have næste nummer i rækken.

Er der en simpel måde at gøre det på?

Det må endda gerne være sådan at når jeg gemmer vil nummeret dokumentet har fået være skrevet i feltet hvor der skal angives filnavn.

/Pho2ke
07. august 2005 - 22:52 #1
Det kan ret nemt gøres med lidt makro kode, som f.eks. kalder en INI-fil og henter det sidste brugte nummer og placere det i feltet for dokumentets titel.
Avatar billede Slettet bruger
08. august 2005 - 09:17 #2
Og hvordan gør man så lige det?
Er det ikke lige så nemt at overskrive den foregående?
08. august 2005 - 13:24 #3
hans-jensen> det kræver selvfølgelig at man kan kode lidt VBA.
Pt. har jeg kun tid til at hjælpe mod betaling - ovenstående "kommentar" er kun skrevet som min måde at løse det på, måske en anden vil vise hvordan.....
Avatar billede brynil Nybegynder
08. august 2005 - 18:19 #4
Prøv denne makro. Den gemmer dit åbne dokument med +1.

Åbn et nyt dokument og gem det som '1.doc'.

Tilføj et modul til dokumentet '1.doc' og brug denne kode:

Sub GemMedNytNavn()
Dim fName As String
Dim p, o As Integer

fName = ActiveDocument.Name
p = InStr(1, fName, ".")

If p = 2 Then
    o = CInt(Mid(fName, 1, 1)) + 1
ElseIf p = 3 Then
    o = CInt(Mid(fName, 1, 2)) + 1
End If

fName = CStr(o) & ".doc"
   
    ChangeFileOpenDirectory "J:\Documents and Settings\Birger\Skrivebord\"
    ActiveDocument.SaveAs FileName:=fName, FileFormat:=wdFormatDocument, _
        LockComments:=False, Password:="", AddToRecentFiles:=True, WritePassword _
        :="", ReadOnlyRecommended:=False, EmbedTrueTypeFonts:=False, _
        SaveNativePictureFormat:=False, SaveFormsData:=False, SaveAsAOCELetter:= _
        False
End Sub

Et problem jeg ikke kunne løse er, at den kritikløst overskriver en eksisterende fil.

Men prøv den, evt. med en knap på menulinien.
Avatar billede pho2ke Nybegynder
08. august 2005 - 21:23 #5
Jeg har fundet dette her.....
--------------
Koden skal ligge i skabelonens Document_New hændelse i skabelonens ThisDocument modul:

Dim xlApp As Object
'Åbn Excel og hent nummer
    Set xlApp = CreateObject("Excel.application")
    xlApp.Workbooks.Open FileName:="C:\nummer.xls"
    nummer = xlApp.sheets(1).Range("a1").Value
'Opdater nummeret, så det er klar til næste dokument
    xlApp.sheets(1).Range("a1").Value = xlApp.sheets(1).Range("a1").Value + 1
'Luk regnearket igen og gem det nye nummer
    xlApp.activeworkbook.Save
    xlApp.activeworkbook.Close
    Set xlApp = Nothing
   
'Indsæt nummer i Word dokumentet
    ActiveDocument.Bookmarks("nummer").Select
    Selection.Range = nummer
-------------
Og det virker faktisk.... nummeret indsættes når dokumentet åbnes.. straks efter nummeret er indsat er dokumentet med sidehovedet åbnet forneden og i normalvisning.

Er der nogen der kan fortælle mig om det kan lade sig gøre at den automatisk skifter tilbage til udskriftslayout med lukket sidehoved?
Avatar billede pho2ke Nybegynder
08. august 2005 - 21:25 #6
og låse dokumentet igen
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
Tag et kursus i Word og øg effektiviteten

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