Avatar billede instruktor Nybegynder
24. marts 2011 - 08:20 Der er 5 kommentarer

omdan kode til vba så det kan bruge i Excel

Hej jeg har noget en noget kode (javascript) der kan beregne IBAN's men kan ikke selv lave koden om til VB, er der nogle der kan hjælpe med at lave en tilsvarende VBA kode.

<html>

<head>

<title>IBAN check digit calculator (c) PBS A/S 2010</title>
</head>

<script type="text/javascript">

function mod97(digit_string)
{
      var m = 0;
      for (var i = 0; i < digit_string.length; ++i)
            m = (m * 10 + parseInt(digit_string.charAt(i))) % 97;
      return m;
}


function IBANCheckDigits(CC,REGNO, KTO)
{
      var inputCnv = REGNO.value + KTO.value + CC.value + '00' ;
    var modInput = "" ;   


    for (i = 0 ; i < inputCnv.length ; i++)
    {
        var l = inputCnv.charAt(i) ;

        if (l >= '0' && l <= '9') {
            modInput = modInput + l ;
        } else {
            if (l >= 'A' && l <= 'Z')
            {
                modInput = modInput + (l.charCodeAt(0) - "A".charCodeAt(0) + 10);
            } else {
                return '??' ;
            }
        }
    }

    var remainder = 98 - mod97(modInput) ;

    var Digits = '' ;

    if (remainder == 0)
        Digits = '00' ;
    else
    {
        if (remainder < 10)
            Digits = '0' + remainder ;
        else
            Digits = '' + remainder
    }

    return Digits ;
}

function CreateIBAN(CC,REGNO, KTO)
{
   
    if (CC.value.length != 2)
    {
        document.getElementById("ibanresult").innerHTML = 'CC skal være 2 lang' ;
        return ;
    }

  if (CC.value == "DK")
  {
        if (REGNO.value.length != 4)
        {
            document.getElementById("ibanresult").innerHTML = 'DK Reg. no. skal være 4 lang' ;
            return ;
        }
   
        if (KTO.value.length > 10)
        {
            document.getElementById("ibanresult").innerHTML = 'DK kontonummer højst 10 langt' ;
            return ;
        }
   
        while (KTO.value.length < 10)
            KTO.value = "0" + KTO.value ;
  }

    Digits = IBANCheckDigits(CC,REGNO, KTO) ;

    if (Digits == "??")
    {
        document.getElementById("ibanresult").innerHTML = 'Kun tal og bogstaver må angives' ;       
        return ;
    }

    var IBAN = CC.value + Digits + REGNO.value + KTO.value

    document.getElementById("ibanresult").innerHTML =
        'Check digits    = ' + Digits + '<br><br>' +
        'IBAN = &quot<b>' + IBAN + '</b>&quot' ;

    return IBAN ;
}

</script>


<body>

<br>
    <img src="http://www.pbs.dk/SiteCollectionImages/illustrations/logos/pbs_pos.jpg"></a></td></tr>
<br>

<hr>

<br>

<table border='0'>
<tr>
<td>
Beregning af check cifre for IBAN<br>
   

<form name=IBAN>

<table border='0'>

<tr><td> Land (ISO 3166 2-bogstavs landekode)</td>  <td>    <input maxlength="2"  name="CC"    size= "2" value="DK"/></td></tr>
<tr><td> Regno. på kreditors bank            </td>  <td>    <input maxlength="4"  name="REGNO" size= "4" value="3347"/></td></tr>
<tr><td> Konto nummer                        </td>  <td>    <input maxlength="20" name="KTO"  size="20" value="040175"/></td></tr>
<tr><td>&nbsp;</td></tr>
<tr><td>                    </td>  <td>    <INPUT     TYPE=BUTTON VALUE="Calculate"
                                          onClick="CreateIBAN(
                                            document.IBAN.CC,
                                            document.IBAN.REGNO,
                                            document.IBAN.KTO);"><br>    </td></tr>
</form>
<td>                            </td>    <td>    <br><br><div id="ibanresult"></div>                    </td></tr>
</table>
</body>
</html>
Avatar billede supertekst Ekspert
24. marts 2011 - 10:11 #1
Er problemet at fortolke ovennævnte kode - eller skrive den i VBA - eller begge.

Algoritmen kan findes på nettet.
Avatar billede instruktor Nybegynder
24. marts 2011 - 10:17 #2
At skrive den om til vba
Avatar billede instruktor Nybegynder
24. marts 2011 - 10:18 #3
jeg kan godt se hvordan koden virker men at omdanne DK + reg + konto til et IBAN via mod97 har jeg ikke lige kunne gennemskue :-)
Avatar billede supertekst Ekspert
24. marts 2011 - 10:28 #4
Avatar billede supertekst Ekspert
24. marts 2011 - 10:47 #5
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
Kurser inden for grundlæggende programmering

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