Avatar billede mvinther Nybegynder
11. januar 2008 - 08:10 Der er 17 kommentarer og
2 løsninger

Unik nummer til en fejlrapport lavet i word

Hej

Jeg er ved at lave en fejlrapport der opbygget i word og ved hjælp af ”Formular” og dette er i sig selv ikke svært! Men jeg vil gerne at hver gang skabelonen åbnes generes der et idnummer ud fra dato’en + et trecifret løbenummer. Løbenummeret skal være fortløbende.
Ex.
11012008-001 (første fejlrapport)
11012008-002 (anden fejlrapport)
osv.

Er der nogen der kan hjælpe mig med dette.

Jeg er ny bruger på sitet, efter jeg er blevet henvist af en kollega. Han sagde hvis der er nogen der ved det, så skulle være herinde.
Avatar billede supertekst Ekspert
11. januar 2008 - 09:02 #1
Velkommen til...

Har et VBA-eksempel fra tidligere - prøver at finde det - vender tilbage..
Avatar billede rvm Nybegynder
11. januar 2008 - 09:03 #2
Avatar billede mvinther Nybegynder
11. januar 2008 - 11:46 #3
Tak for linket.

Som jeg forstår det der er skrevet, tager dette ikke i udgangspunkt i dagsdato + et løbenummer, men "kun" et løbenummer! Kan man ikke på en eller anden måde få macro'en til at tage udgangspunkt i dato'en?
Og er det muligt at undgå den externe fil?
Avatar billede supertekst Ekspert
11. januar 2008 - 12:05 #4
Skal fejlrapporten gemmes under navn = dato+løbenr?

Det skulle nok være muligt at undgå den eksterne fil - idet løbenr kan indkapsles som dokumentvariabel i skabelonen.

Løbenr. opfattes som forløbende uanset dato - korrekt?
Avatar billede rvm Nybegynder
11. januar 2008 - 12:27 #5
Løbenummeret må komme fra en ekstern fil, da det skal være uafhængig af skabelonen - ellers skulle skabelonen gemmes hver gang der bliver lavet et dokument på baggrund af den.

Angående løbenummer + dato, så kan du gøre således:

ActiveDocument.SaveAs "c:\" & date & " - " & FakturaNr & ".doc"
Avatar billede mvinther Nybegynder
11. januar 2008 - 13:51 #6
Jeg sender Jer lige koden. Jeg kan ikke rigtigt få det til at virke på den tiltænkte måde, Hvad gør jeg forkert?

Den tæller ikke op!

Public FakturaNr As Integer
Sub AutoNew()

'Henter fakturanummeret fra en textfil (nummeret står på først linie)
Open "C:\Documents and Settings\morten.APP\Skrivebord\fejlrapporter\Fakturanummer.txt" For Input As #1
Input #1, FakturaNr
Close #1

If ActiveDocument.ProtectionType <> wdNoProtection Then
        ActiveDocument.Unprotect
    End If

'Indsætter fakturanummeret ved bogmærket "Fakturanummer" i dokumentet
If ActiveDocument.Bookmarks.Exists("Fakturanummer") = True Then
    ActiveDocument.Bookmarks("Fakturanummer").Select
    Selection.TypeText FakturaNr ' Den nye kode
End If

If ActiveDocument.ProtectionType = wdNoProtection Then
        ActiveDocument.Protect wdAllowOnlyFormFields, True
    End If
End Sub
Sub Gem_Click() ' sæt denne makro på en knap

'Gemmer fakturaen
ActiveDocument.SaveAs "C:\Documents and Settings\morten.APP\Skrivebord\fejlrapporter\doc\" & Date & " - " & FakturaNr & ".doc"

'Tæller op til næste faktura
FakturaNr = FakturaNr + 1

'Gemmer det nye fakturanumer i textfilen
Open "C:\Documents and Settings\morten.APP\Skrivebord\fejlrapporter\Fakturanummer.txt" For Output Access Write As #1
Write #1, FakturaNr
Close #1
End Sub
Avatar billede rvm Nybegynder
14. januar 2008 - 09:11 #7
Har du sat den nederste del af koden på en knap.
Avatar billede mvinther Nybegynder
14. januar 2008 - 09:23 #8
Ja, det har jeg!
Avatar billede mvinther Nybegynder
14. januar 2008 - 09:23 #9
- og den del virker fint.
Avatar billede rvm Nybegynder
14. januar 2008 - 09:57 #10
det lyder mærkeligt - det er jo netop den kode, der tæller op...
Avatar billede mvinther Nybegynder
14. januar 2008 - 13:42 #11
Hej

jeg har fundet ud af at selv koden virker efter hensigt, men der er forskel på om jeg dobbeltklikker eller højreklikker på .dot-filen!

Når jeg dobbeltklikker virker koden ikke....!
Når jeg højreklikker >> Vælger åben.....virker koden korrekt.

Kan I forklare mig hvorfor det er sådan?
Avatar billede rvm Nybegynder
14. januar 2008 - 14:49 #12
Er det en .dot eller .doc fil du har lavet. Koden passer til en .dot fil
Avatar billede mvinther Nybegynder
14. januar 2008 - 14:52 #13
Det er en .dot
Avatar billede rvm Nybegynder
14. januar 2008 - 17:55 #14
Såden her ser min kode ud (den virker):

Public FakturaNr As Long
Sub AutoNew()

'Henter fakturanummeret fra en textfil (nummeret står på først linie)
Open "C:\Fakturanummer.txt" For Input As #1
Input #1, FakturaNr
Close #1

If ActiveDocument.ProtectionType <> wdNoProtection Then
        ActiveDocument.Unprotect
    End If

'Indsætter fakturanummeret ved bogmærket "Fakturanummer" i dokumentet
If ActiveDocument.Bookmarks.Exists("Fakturanummer") = True Then
    ActiveDocument.Bookmarks("Fakturanummer").Select
    Selection.TypeText FakturaNr ' Den nye kode
End If

If ActiveDocument.ProtectionType = wdNoProtection Then
        ActiveDocument.Protect wdAllowOnlyFormFields, True
    End If
End Sub
Sub Gem_Click() ' sæt denne makro på en knap

'Gemmer fakturaen
ActiveDocument.SaveAs "C:\" & Date & " - " & FakturaNr & ".doc"

'Tæller op til næste faktura
FakturaNr = FakturaNr + 1

'Gemmer det nye fakturanumer i textfilen
Open "C:\Fakturanummer.txt" For Output Access Write As #1
Write #1, FakturaNr
Close #1
End Sub
Avatar billede mvinther Nybegynder
17. januar 2008 - 14:03 #15
Hej [rvm]

Jeg har nu forsøgt en del gange med den kode som du lagde til mig! Og jeg har samme problem som tidligere nævnt. Højre klik >> så virker det fint. Dobbelt klik >> så nulstiller txt-filen hver gang.

Jeg har bygget det hele op i word2003 og ved hjælp af formular.

Har I nogle gode ideer til mig……hvordan mit problem løses?
Avatar billede rvm Nybegynder
17. januar 2008 - 14:39 #16
Send en kopie af din skabelon, så kikker jeg på det :-)

rvm (snabel)heaven punktum dk
Avatar billede rvm Nybegynder
18. januar 2008 - 09:55 #17
Du mangler at sætte den siste del af koden på en knap. Hvis du ikke ønsker det kan du bare lave koden således:

Public FakturaNr As Long
Sub AutoNew()

'Henter fakturanummeret fra en textfil (nummeret står på først linie)
Open "C:\Fakturanummer.txt" For Input As #1
Input #1, FakturaNr
Close #1

If ActiveDocument.ProtectionType <> wdNoProtection Then
        ActiveDocument.Unprotect
    End If

'Indsætter fakturanummeret ved bogmærket "Fakturanummer" i dokumentet
If ActiveDocument.Bookmarks.Exists("Fakturanummer") = True Then
    ActiveDocument.Bookmarks("Fakturanummer").Select
    Selection.TypeText FakturaNr ' Den nye kode
End If

If ActiveDocument.ProtectionType = wdNoProtection Then
        ActiveDocument.Protect wdAllowOnlyFormFields, True
    End If
End Sub

'Gemmer fakturaen
ActiveDocument.SaveAs "C:\" & Date & " - " & FakturaNr & ".doc"

'Tæller op til næste faktura
FakturaNr = FakturaNr + 1

'Gemmer det nye fakturanumer i textfilen
Open "C:\Fakturanummer.txt" For Output Access Write As #1
Write #1, FakturaNr
Close #1
End Sub
Avatar billede mvinther Nybegynder
28. januar 2008 - 09:48 #18
Hej

Jeg har haft store problemmer med at få koden til at virke efter hensigt, men langt om længe har jeg fundet frem til hvordan den kan virke. Det er ikke fordi koden er forkert, men af en eller anden grund da jeg byttet om på række følgen af løbenr og dato, så virker det!!! Underligt.
"C:\" & Date & " - " & FakturaNr & " .doc" denne virker!
"C:\" & FakturaNr & " - " & Date & " .doc" denne virker ikke!

-------
Public FakturaNr As Long
Sub AutoNew()

'Henter fakturanummeret fra en textfil (nummeret står på først linie)
Open "C:\Fakturanummer.txt" For Input As #1
Input #1, FakturaNr
Close #1

If ActiveDocument.ProtectionType <> wdNoProtection Then
        ActiveDocument.Unprotect
    End If

'Indsætter fakturanummeret ved bogmærket "Fakturanummer" i dokumentet
If ActiveDocument.Bookmarks.Exists("Fakturanummer") = True Then
    ActiveDocument.Bookmarks("Fakturanummer").Select
    Selection.TypeText FakturaNr ' Den nye kode
End If

If ActiveDocument.ProtectionType = wdNoProtection Then
        ActiveDocument.Protect wdAllowOnlyFormFields, True
    End If

'Gemmer fakturaen
ActiveDocument.SaveAs "C:\" & FakturaNr & " - " & Date & " .doc"

'Tæller op til næste faktura
FakturaNr = FakturaNr + 1

'Gemmer det nye fakturanumer i textfilen
Open "C:\Fakturanummer.txt" For Output Access Write As #1
Write #1, FakturaNr
Close #1
End Sub
Avatar billede mvinther Nybegynder
28. januar 2008 - 10:03 #19
UPS...der blev vist lige byttet lidt for meget rundt!

"C:\" & Date & " - " & FakturaNr & " .doc" denne virker ikke!
"C:\" & FakturaNr & " - " & Date & " .doc" denne virker!
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