Avatar billede ullum Praktikant
11. oktober 2005 - 18:09 Der er 6 kommentarer og
1 løsning

office 2003 Makro

Kan man i et word.doc lave en makro eller andet der konverterer et tal eksempelvis 1223,45 til ettusinde tohundrede og treogtyve
45/100
Avatar billede supertekst Ekspert
12. oktober 2005 - 08:32 #1
Ja - ved at opdele tallet i enheder og erstatte disse med tekst - lidt af et puslearbejde, men det kan lade sig gøre.
Avatar billede ullum Praktikant
12. oktober 2005 - 16:21 #2
kan du være lidt mere specifik?
Avatar billede ullum Praktikant
12. oktober 2005 - 17:17 #3
jeg indsætter det numeriske tal i en tekstbox, er det et ok udgangspunkt
Avatar billede supertekst Ekspert
13. oktober 2005 - 09:45 #4
Hej - sådan er status - programmet er ikke færdigt - men du kan se princippet:

Dim beløb
Dim t1 As Variant, t2 As Variant, t3 As Variant
Sub programStart()
    sætTabeller
'    tekst = konverterTilTekst(37.75)          'ok
'    tekst = konverterTilTekst(7.75)            'ok
'    tekst = konverterTilTekst(137.75)          'ok
    tekst = konverterTilTekst(217.75)          ' ej ok !
   
End Sub
Private Sub sætTabeller()
    t1 = Array("", "en", "to", "tre", "fire", "fem", "seks", "syv", "otte", "ni" & _
        "ti", "elleve", "tolv", "tretten", "fjorten", "femten", "seksten", "sytten", "atten", "nitten")
    t2 = Array("", "", "tyve", "tredive", "fyrre", "halvtres", "tres", "halvfjers", "firs", "halvfems")
    t3 = Array("hundrede", "tusinde", "millioner")
End Sub
Private Function konverterTilTekst(tal)
Dim beløb, ix, kr, dec, tekst, tt1, tt2

    beløb = CStr(tal)
    ix = InStr(beløb, ",")
   
    If ix = 0 Then
        beløb = beløb + ",00"
    End If
   
    kr = Left(beløb, ix - 1)
    dec = Mid(beløb, ix + 1)
   
    tt1 = opDel(kr)
    tt2 = opDel(dec)
   
    konverterTilTekst = tt1 + " " + tt2 + "/00"
End Function
Private Function opDel(xx)
Dim tekst
    Select Case Len(xx)
        Case 1: tekst = t1(Val(xx))
        Case 2: tekst = t1(Val(Right(xx, 1))) + "og" + t2(Val(Left(xx, 1)))
        Case 3: tekst = t1(Val(Left(xx, 1))) + t3(0) + t1(Val(Right(xx, 1))) + "og" + t2(Val(Mid(xx, 2, 1)))
    End Select

    opDel = tekst
End Function
Avatar billede ullum Praktikant
13. oktober 2005 - 14:52 #5
ja nu er der da lidt at arb. med.
svar pls.
Avatar billede supertekst Ekspert
13. oktober 2005 - 15:08 #6
Giv blot signal, hvis behov for yderligere....
Avatar billede ullum Praktikant
13. oktober 2005 - 15:19 #7
Jeg er helt blank men det er jo et godt udgangspunkt for et selvstudium.
Jeg kaster mig over det en dag, det vigtigste for mig, er at vide at det kan lade sig gøre
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