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 />
// variant je nešto drugo<br />
return -3;<br />
U <strong>VBA</strong> kodu deklarirana je i kasnije pozvana VariantPrimjer funkcija:<br />
Declare Function VariantPrimjer Lib "primjer" _<br />
(ByVal v As Variant) As Integer<br />
Sub VariantTest()<br />
MsgBox VariantPrimjer (Worksheets(1))<br />
MsgBox VariantPrimjer ("25")<br />
MsgBox VariantPrimjer (5)<br />
MsgBox VariantPrimjer (3.2)<br />
End Sub<br />
'-1 (objekt)<br />
'25 (vrijednost)<br />
'5 (vrijednost)<br />
'-3 (nešto drugo)<br />
Oznake variant konstanti za odreĊeni Variant tip argumenta koje podržava <strong>VBA</strong> kod.<br />
Boolean<br />
VT_BOOL<br />
Currency(scaled integer) VT_CY<br />
Date<br />
VT_DATE<br />
Double(double floating-point) VT_R8<br />
Integer<br />
VT_I2<br />
Long Integer<br />
VT_I4<br />
Object<br />
VT_DISPATCH<br />
Single(floating-point) VT_R4<br />
String<br />
VT_BSTR<br />
2.3.4.4 Korištenje tipa String<br />
Kada <strong>VBA</strong> predaje string po referenci u DLL, tada upotrebljava poseban OLE tip podataka<br />
nazvan BSTR. U većini sluĉajeva BSTR se može tretirati kao pokazivaĉ na string koji završava s<br />
nul - bajtom (\0).<br />
Funkcija u C-u treba deklarirati argument kao pokazivaĉ na BSTR. Pokazivaĉ neće nikada biti<br />
NULL. Ako <strong>VBA</strong> stringu nije ništa pridruženo, BSTR na koji pokazuje pokazivaĉ će biti nula.<br />
Ako je pridružen prazan string, prvi karakter će biti 0 i dužina stringa će biti 0.<br />
short WINAPI STip(BSTR *pbstr)<br />
{ if (pbstr == NULL) // pokazivač je nula, neće se dogoditi<br />
return 1;<br />
if (*pbstr == NULL)<br />
// string je alociran u VB sa Dim naredbom,ali mu<br />
return 2;<br />
//još nije pridružena vrijednost<br />
if (*pbstr[0] == 0) // string je alociran i pridružen mu je prazan string (" ")<br />
return 3;<br />
return 4;<br />
// string ima vrijednost<br />
}<br />
27