Macro - Faktura
Jeg har forsøgt at lave en faktura i word, der laver et faktura nummer efter et nummer i en text fil, men jeg kan ikke få det til at blive talt rigtigt op.Første gang jeg saver en faktura bliver den gemt som et doc men så vil den hellere ikke længere og næste gang overskriver den bare filen og tæller ikke faktura nummeret op.
jeg har uploaded faktura.dot til http://www.wilweb.dk/exp.faktura.dot
her er koden :
Public FakturaNr As Integer
Sub AutoNew()
'Dim FakturaNr As Integer
'denne kode til at låse dokumentet op
If ActiveDocument.ProtectionType <> wdNoProtection Then
ActiveDocument.Unprotect
End If
'Henter fakturanummeret fra en textfil (nummeret står på først linie)
Open "E:\Dokumenter-Information\Wilweb.dk\Faktura\fakturanummer.txt" For Input As #1
Input #1, FakturaNr
Close #1
'Tæller op til næste faktura
FakturaNr = FakturaNr + 1
'Indsætter fakturanummeret ved bogmærket "Fakturanummer" i dokumentet
If ActiveDocument.Bookmarks.Exists("fakturanummer") = True Then
ActiveDocument.Bookmarks("fakturanummer").Select
End If
If ActiveDocument.Bookmarks.Exists("fakturanummer") = True Then
ActiveDocument.Bookmarks("fakturanummer").Select
Selection.TypeText FakturaNr ' Den nye kode
End If
'og denne kode til at låse det igen, når fakutranummeret er indsat
If ActiveDocument.ProtectionType = wdNoProtection Then
ActiveDocument.Protect wdAllowOnlyFormFields, True
End If
ActiveDocument.Bookmarks("Tekst1").Select
End Sub
Sub RegnMedFormularfelter()
Dim antal1, antal2, antal3, antal4, antal5, antal6 As Long
Dim pris1, pris2, pris3, pris4, pris5, pris6 As Long
Dim sum1, sum2, sum3, sum4, sum5, sum6 As Long
Dim totalum As Long
Dim momssats As Long
Dim moms As Long
With ActiveDocument
antal1 = .FormFields("antal1").Result
antal2 = .FormFields("antal2").Result
antal3 = .FormFields("antal3").Result
antal4 = .FormFields("antal4").Result
antal5 = .FormFields("antal5").Result
antal6 = .FormFields("antal6").Result
pris1 = .FormFields("pris1").Result
pris2 = .FormFields("pris2").Result
pris3 = .FormFields("pris3").Result
pris4 = .FormFields("pris4").Result
pris5 = .FormFields("pris5").Result
pris6 = .FormFields("pris6").Result
sum1 = antal1 * pris1
sum2 = antal2 * pris2
sum3 = antal3 * pris3
sum4 = antal4 * pris4
sum5 = antal5 * pris5
sum6 = antal6 * pris6
totalum = sum1 + sum2 + sum3 + sum4 + sum5 + sum6
momssats = .FormFields("momssats").Result
moms = momssats * totalum / 100
'udskriv til skærm
.FormFields("sum1").Result = sum1
.FormFields("sum2").Result = sum2
.FormFields("sum3").Result = sum3
.FormFields("sum4").Result = sum4
.FormFields("sum5").Result = sum5
.FormFields("sum6").Result = sum6
.FormFields("totalum").Result = totalum
.FormFields("moms").Result = moms
.FormFields("totalmm").Result = totalum + moms
End With
End Sub
Private Sub CommandButton1_Click()
GemFaktura
End Sub
Sub GemFaktura() ' sæt denne makro på en knap
'Tæller op til næste faktura
FakturaNr = FakturaNr + 1
'Gemmer fakturaen
ActiveDocument.SaveAs "E:\Dokumenter-Information\Wilweb.dk\Faktura\2003\" & FakturaNr & ".doc"
'Gemmer det nye fakturanumer i textfilen
Open "E:\Dokumenter-Information\Wilweb.dk\Faktura\fakturanummer.txt" For Output Access Write As #1
Write #1, FakturaNr
Close #1
ActiveDocument.Close
End Sub
håber på det er til at forstå...
