Ik heb met Fortran een DLL (UOMCONVERT.DLL) gemaakt met verschillende functies daarin om eenheden om te zetten. o.a de functie Length
In Excel roep ik deze aan met het volgende in VBA:
Ik kreeg alleen als resultaat als ik in een cell =LENGTH(10.2,"m","mm") -> #VALUE
Wat doe ik verkeerd?
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| FUNCTION LENGTH(L, IN, OUT)
IMPLICIT NONE
!DEC$ IF DEFINED (_DLL)
!DEC$ ATTRIBUTES STDCALL, DLLEXPORT :: LENGTH
!DEC$ END IF
CHARACTER*6 IN, OUT
REAL*8 L, LENGTH
IN(1:6) = ' '
OUT(1:6) = ' '
IF (IN(1:6).EQ.'m ') THEN
IF (OUT(1:6).EQ.'mm ') LENGTH = L * 0.001
RETURN
END FUNCTION |
In Excel roep ik deze aan met het volgende in VBA:
code:
1
2
| Public Declare Function LENGTH Lib "UOMCONVERT.dll" _
(Value As Double, InputUOM As String, OutputUOM As String) As Double |
Ik kreeg alleen als resultaat als ik in een cell =LENGTH(10.2,"m","mm") -> #VALUE
Wat doe ik verkeerd?
[ Voor 7% gewijzigd door EvdB op 19-11-2004 12:58 ]