![]() |
【转帖】strange function error
strange function error
when i run this code in it's own module it runs perfectly but when i insert it into a previously developed module it says: compile error: type-declaration character does not match declared data type [refering to my use of left$()] ============== code: declare function getusername lib "advapi32.dll" alias "getusernamea" (byval lpbuffer as string, nsize as long) as long dim strstring as string sub getuserid() strstring = string(255, chr$(0)) getusername strstring, 255 strstring = lcase(left$(strstring, instr(1, strstring, chr$(0)) - 1)) msgbox strstring end sub cad monkey sw2k7 sp5.0 sw2k8 sp3.0 edited: 08/14/2008 at 02:39 pm by dan eldred ok well for some reason mid works but not left. strstring = lcase(mid(strstring, 1, instr(1, strstring, chr$(0)) - 1)) cad monkey sw2k7 sp5.0 sw2k8 sp3.0 this is how i capture the current logged in user, works everytime: '*********************************************** option explicit ' get the user name function from windows private declare function wnetgetuser lib "mpr.dll" alias "wnetgetusera" (byval lpname as string, byval username as string, lpnlength as long) as long const noerror = 0 const lpnlength as integer = 255 dim status as integer dim lpname, username as string sub getusername() ' get user name username = space$(lpnlength + 1) status = wnetgetuser(lpname, username, lpnlength) if status = noerror then username = left$(username, instr(username, chr(0)) - 1) 'do something with data msgbox "current user is: " & username else msgbox "unable to get the name." end end if end sub cadcam systems analyst -solidworks office premium 2009 sp3.0 -solidworks simulation premium 2009 sp3.0 -solidworks flow simulation 2009 sp3.0 -2 cpu (fx-62), 2.0 gb of ram -window xp pro sp2 -nvidia geforce 7950 gx2 (512mb) 6.14.11.6921 yes that does produce the same result cad monkey sw2k7 sp5.0 sw2k8 sp3.0 its because your other module will have a function called left already defined. change your call to this: strstring = lcase(vba.left$(strstring, instr(1, strstring, chr$(0)) - 1)) |
所有的时间均为北京时间。 现在的时间是 05:47 PM. |