2015-09-23 30 views
1

这是一个来自Excel宏(VB)的代码,我该如何重写它,所以它适用于Adobe Acrobat?如何将excel-vba重写为acrobat javascript?

为例如nummer是“161628686041430”

Function upsp(nummer) 
' Übergeben wird KdNr+Serviceart+Paketnummer (ohne 1Z) 
' 
qsm = 0 
For i = 1 To 15 
p = Mid(nummer, i, 1) 
If Asc(p) > 57 Then p = (Asc(p) - 63) Mod 10 
qsm = qsm + (p * (2 - i Mod 2)) 
Next 
upsp = 10 - (qsm Mod 10) 
If upsp = 10 Then upsp = 0 
End Function 

该函数的结果应该是“2”。

感谢您的帮助。

回答

1

我想这就是你要找的东西,我尽量保持尽可能接近Excel代码,希望能够更容易遵循。让我知道如果您有任何疑问...

alert(upsp('161628686041430')); 
 

 
function upsp(nummer) { 
 
    var qsm; 
 
    var p; 
 
    var returnValue; 
 

 
    qsm = 0; 
 
    for (var i = 0; i < nummer.length; i++) { 
 
    p = nummer.substr(i, 1); 
 
    if (p.charCodeAt(0) > 57) { 
 
     p = (p.charCodeAt(0) - 63) % 10; 
 
    } 
 
    qsm = qsm + (p * (2 - ((i + 1) % 2))); 
 
    } 
 

 
    returnValue = 10 - (qsm % 10); 
 
    if (returnValue === 10) { 
 
    returnValue = 0; 
 
    } 
 

 
    return returnValue; 
 
}

+0

在Acrobat测试... – WhiteHat