Excel_VBA_manual
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
}<br />
rezultat += Elem;<br />
}<br />
*plResult = rezultat;<br />
return 0;<br />
Primjer deklaracije i poziva funkcije Sumapolja iz <strong>VBA</strong>:<br />
Declare Function Sumapolja Lib "primjer" _<br />
(a( ) As Integer, r As Long) As Integer<br />
Sub SumaPoljaTest()<br />
Dim n(5) As Integer<br />
Dim suma As Long<br />
'Vrijednost prvih pet ćelija u <strong>Excel</strong>u spremi u polje<br />
For i = 0 To 4<br />
n(i) = Cells(i+1)<br />
Next<br />
x = SumArray(n, suma) 'Poziv funkcije SumArray<br />
MsgBox x & ":" & suma<br />
End Sub<br />
<strong>VBA</strong> radi minimalnu provjeru tipa i veliĉine polja. Zbog toga je vrlo važno uoĉiti kako je<br />
deklarirana funkcija, jer pozivom DLL-a sa krivim tipom podatka polja, najvjerojatnije će doći do<br />
rušenja aplikacije (<strong>Excel</strong>a).<br />
2.3.5 Poziv funkcije iz <strong>Excel</strong> radne bilježnice<br />
Funkcije iz DLL-a se mogu pozvati i direktno iz radne bilježnice, pomoću funkcije CALL.<br />
Sintaksa CALL naredbe je sljedeća:<br />
CALL(modul_tekst,procedura,tip_tekst,argument1,argument2...)<br />
modul_text je ime DLL-a, koji se mora nalaziti na putanji traženja DLL-a<br />
procedura – ime funkcije u DLL-u,<br />
tip_tekst – tipovi argumenata koje funkcija vraća i koje prima<br />
argument1,argument2... – vrijednosti argumenata koje funkcija prima<br />
U trećem argumentu tip_tekst u CALL funkciji prvo slovo predstavlja tip podatka koji funkcija<br />
vraća, a sljedeća slova predstavljaju redom sve tipove argumenata koje funkcija prima.<br />
30