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