ÁúÔ´ÆÚ¿¯Íø http://www.qikan.com.cn
£Ö£Â£Á±à³ÌʵÏ֣壸£ã£å£ìÊý¾Ý¹ÜÀíµÄÔľí
×÷ÕߣºÎâ¾Ö¾
À´Ô´£º¡¶µçÄÔ֪ʶÓë¼¼Êõ¡·2009ÄêµÚ24ÆÚ
ÕªÒª:VBAÊÇÒ»ÖÖ×Ô¶¯»¯ÓïÑÔ,Ëü¿ÉÒÔʹ³£ÓõijÌÐò×Ô¶¯»¯,¿ÉÒÔ´´½¨×Ô¶¨ÒåµÄ½â¾ö·½°¸,,»¹¿ÉÒÔ½«EXCELÓÃ×ö¿ª·¢Æ½Ì¨ÊµÏÖÓ¦ÓóÌÐò¡£Òò´Ë,VBA¿ÉÒÔ³Æ×÷EXCELµÄ¡°Ò£¿ØÆ÷¡±¡£Í¬Ê±,VBA×÷ΪÐÂÒ»´ú±ê×¼ºêÓïÑÔ,ÌṩÁËÃæÏò¶ÔÏóµÄ³ÌÐòÉè¼Æ·½·¨ºÍÏ൱ÍêÕûµÄ³ÌÐòÉè¼ÆÓïÑÔ¡£¶ÔÓÚÔÚ¹¤×÷ÖÐÐèÒª¾³£Ê¹ÓÃOffice Ì××°Èí¼þµÄÓû§,ÉÆÓÃVBA ÓÐÖúÓÚʹ¹¤×÷×Ô¶¯»¯,Ìá¸ß¹¤×÷ЧÂÊ¡£
¹Ø¼ü´Ê:VBA;excel;³ÌÐòÉè¼Æ
ÖÐͼ·ÖÀàºÅ:TP317ÎÄÏ×±êʶÂë:AÎÄÕ±àºÅ:1009-3044(2009)24-6627-02
Examining Test Papers of Excel¡¯s Date Management by VBA Programming WU Jing-zhi
(Shaoguan University,Shaoguan 512005, China)
Abstract: VBA is one kind of automated language, it may cause the commonly used automatic programming,it may found from the definition solution, it may with do EXCEL develops the platform realization application procedure.so, VBA may be called as EXCEL the remote control. VBA takes the new generation of standard great language,it has provided the object-oriented programming method and the quite complete programming language. Regarding needs to use the Office coverall software frequently in the work the user,who makes good use of VBA to be helpful in causes the work automation and enhances the working efficiency. Key words: VBA; excel; programming
ÔÚ½«¡°¸ßЧ¡±¹á³¹µ½ÎÒÃÇÈÕ³£¹¤×÷µÄ½ñÌì,ÈçºÎ¸ßЧµØ¹¤×÷Ò»Ö±ÊÇÎÒÃÇ̽ÌÖµÄÎÊÌâ¡£×÷ΪÔÚÈÕ³£°ì¹«ÖÐÀë²»¿ªµÄExcelÈí¼þÒ²Ôڽ߾¡ËùÄÜÌá¸ß¹¦ÄÜ,°ïÖúÎÒÃǽÚÊ¡¹¤×÷ʱ¼ä¡¢Ìá¸ß¹¤×÷ЧÂÊ¡£ÆäÖÐVBA¾ÍÊÇÕâÑùÒ»¸öÀûÆ÷¡£
1 VBA¼ò½é
ÁúÔ´ÆÚ¿¯Íø http://www.qikan.com.cn
VBAÊÇʲô?VBA(Visual Basic For Application)ÊÇÒ»ÖÖ×Ô¶¯»¯ÓïÑÔ,Ëü¿ÉÒÔʹ³£ÓõijÌÐò×Ô¶¯»¯,¿ÉÒÔ´´½¨×Ô¶¨ÒåµÄ½â¾ö·½°¸,´ËÍâ,»¹¿ÉÒÔ½«EXCELÓÃ×ö¿ª·¢Æ½Ì¨ÊµÏÖÓ¦ÓóÌÐò¡£ ¶Ô¶àÊýÈËÀ´Ëµ,ʹӦÓóÌÐò×Ô¶¯»¯ÈÔÊdzäÂúÌôÕ½ÐÔµÄÁìÓò¡£¶Ôÿ¸öÐèÒª×Ô¶¯»¯µÄÓ¦ÓóÌÐò,ÈËÃDz»µÃ²»Ñ§Ï°Ò»ÖÖ²»Í¬µÄ×Ô¶¯»¯ÓïÑÔ,ÀýÈç:¿ÉÒÔÓÃEXCELµÄºêÓïÑÔÀ´Ê¹EXCEL×Ô¶¯»¯,ʹÓÃWORD BASICʹWORD×Ô¶¯»¯µÈµÈ¡£Î¢Èí¾ö¶¨ÈÃËü¿ª·¢³öÀ´µÄÓ¦ÓóÌÐò¹²ÏíÒ»ÖÖͨÓõÄ×Ô¶¯»¯ÓïÑÔ¡ª¡ªVisual Basic For Application(VBA),¿ÉÒÔÈÏΪVBAÊǷdz£Á÷ÐеÄÓ¦ÓóÌÐò¿ª·¢ÓïÑÔVISUAL BASIC µÄ×Ó¼¯¡£Êµ¼ÊÉÏVBAÊǼÄÉúÓÚVBÓ¦ÓóÌÐòµÄ°æ±¾¡£
VBAºÍVBµÄÇø±ð°üÀ¨Èçϼ¸¸ö·½Ãæ:VBÊÇÉè¼ÆÓÃÓÚ´´½¨±ê×¼µÄÓ¦ÓóÌÐò,¶øVBAÊÇʹÒÑÓеÄÓ¦ÓóÌÐò(EXCELµÈ)×Ô¶¯»¯;VB¾ßÓÐ×Ô¼ºµÄ¿ª·¢»·¾³,¶øVBA±ØÐë¼ÄÉúÓÚÒÑÓеÄÓ¦ÓóÌÐò;ÒªÔËÐÐVB¿ª·¢µÄÓ¦ÓóÌÐò,Óû§²»±Ø°²×°VB,ÒòΪVB¿ª·¢³öµÄÓ¦ÓóÌÐòÊÇ¿ÉÖ´ÐÐÎļþ(*.EXE),¶øVBA¿ª·¢µÄ³ÌÐò±ØÐëÒÀÀµÓÚËüµÄ¸¸Ó¦ÓóÌÐò,ÀýÈçEXCEL.¡£¾¡¹Ü´æÔÚÕâЩ²»Í¬,VBAºÍVBÔڽṹÉÏÈÔȻʮ·ÖÏàËÆ¡£Èç¹ûÒѾÁ˽âÁËVB,»á·¢ÏÖѧϰVBA·Ç³£¿ì¡£ÏàÓ¦µÄ,ѧÍêVBA»á¸øÑ§Ï°VB´òϼáʵµÄ»ù´¡¡£¶øÇÒ,µ±Ñ§»áÔÚEXCELÖÐÓÃVBA´´½¨½â¾ö·½°¸ºó,¼´ÒѾ߱¸ÔÚWORD ACCESS OUTLOOK FOXPRO PROWERPOINT ÖÐÓÃVBA´´½¨½â¾ö·½°¸µÄ´ó²¿·Ö֪ʶ¡£
VBAÒ»¸ö¹Ø¼üÌØÕ÷ÊÇÄãËùѧµÄ֪ʶÔÚ΢ÈíµÄһЩ²úÆ·ÖпÉÒÔÏ໥ת»¯¡£OfficeÈ¡µÃ¾Þ´ó³É¹¦µÄÒ»¸öÖØÒªÔÒò¾ÍÊÇVBA,ʹÓÃVBA¿ÉÒÔÍê³ÉºÜ¶àÊÂÇé,»ùÓÚExcel¡¢WordµÄVBAС³ÌÐò·Ç³£¶à¡£VBA³ÌÐòÔ±ºÜ¶àÊÇÒµÓà³ÌÐòÔ±,µ«±àд³öÀ´µÄ³ÌÐòËù½â¾öµÄÈ´Êǹ¤×÷ÖÐÐèÒª½â¾öµÄÎÊÌâ¡£
2 VBA±à³ÌʵÀý
ÎÒÃÇÖªµÀexcelÊý¾Ý¹ÜÀí²¿·Ö°üÀ¨Êý¾Ý͸ÊÓ±í¡¢·ÖÀà»ã×Ü¡¢Êý¾ÝÅÅÐòµÈºÍ¸÷ÖÖ¹«Ê½º¯ÊýÔËËã,ÕâЩ²Ù×÷¸÷²»Ïàͬ,Èç¹ûÒª¶ÔÕⲿ·ÖÌâÄ¿½øÐÐÔľí²Ù×÷,Õë¶Ô²»Í¬µÄ֪ʶµãÒª·Ö±ðд³ö¶ÔÓ¦µÄÔľíÄ£¿é¡£ÎÒÃÇ·¢ÏÖ,Íê³ÉͬһµÀexcelÊý¾Ý¹ÜÀíÌâÄ¿,¿ÉÒÔÓв»Í¬µÄ²Ù×÷·½·¨,ÔÚÔľíµÄʱºòÒª°ÑÕâЩ²»Í¬µÄ²Ù×÷·½·¨¶¼¿¼ÂǽøÈ¥µÄ»°,ÔľíÄ£¿éµÄ±àд¾ÍÏԵúܷ±Ëö,¶øÇÒÔľíÈËҲδ±ØÄÜ¿¼ÂǵĺÜÈ«Ãæ¡£ÎÒÃÇ·¢ÏÖ,¶ÔÒ»µÀexcelÊý¾Ý¹ÜÀíÌâ,²»ÂÛÒÔʲô·½·¨À´×ö,×îºóµÄ½á¹ûÖ»ÄÜÓÐÒ»ÖÖÇé¿ö,ÄÇôÎÒÃÇ¿ÉÒÔÕë¶ÔÕâ¸ö½á¹û²ÉÓÃÈ¡ÑùÆ¥ÅäµÄ·½Ê½À´½øÐÐÔľí,ÕâÑùÒ»À´¾ÍÄܺÜÇáËÉʵÏÖ¶Ô¸÷ÖÖÀàÐ͵ÄexcelÊý¾Ý¹ÜÀíÌâÄ¿µÄÔÄ¾í¹¤×÷¡£
ÁúÔ´ÆÚ¿¯Íø http://www.qikan.com.cn
Òª¶ÔÒ»µÀexcelÊý¾Ý¹ÜÀíÌâÄ¿½øÐÐÔľí,ÐèÒª±àдһ¸öÕë¶Ô¸ÃÌâÄ¿µÄµ÷Óú¯Êý,ÁíÍ⻹ÐèÒªÒ»¸ö¹«ÓеÄÔľíÄ£¿é¡£×ܵÄ˼·ÊÇÔÚ¸ÃÌâÄ¿º¯ÊýÀïÊäÈëÒª½øÐÐÈ¡ÑùµÄµ¥Ôª¸ñ×ø±ê¼°µ¥Ôª¸ñÄÚµÄÊý¾Ý(´ð°¸),È»ºóµ÷Óù«ÓÐÔľíÄ£¿é,ÓëѧÉúµÄ²Ù×÷½á¹û½øÐÐÆ¥Åä,ÍêȫƥÅ䏸·Ö,·ñÔò0·Ö¡£ ÈçÏÂ,ÎÒÃÇÀ´¿´Ò»¸öÀý×Ó:ÒÔF1µ¥Ôª¸ñΪ×óÉϽǴ´½¨Ò»Êý¾Ý͸ÊÓ±í,±íÏÖ³öÐÔ±ðÓëÖ°³Æ¶ÔÕÕ·ÖÀàµÄ¹¤×ÊÆ½¾ùÖµ,ÒªÇóͬһְ³ÆµÄÊý¾ÝÔÚͬһÐÐ,ͬһÐÔ±ðµÄÊý¾ÝÔÚͬһÁС£µç×Ó±í¸ñÎļþΪ¡°xls001.xls¡±,Êý¾ÝËùÔڵŤ×÷±íΪ¡°sheet1¡±,ÎļþĿ¼Ϊ¡°D:\\test¡±Îļþ¼Ð¡£ÀýÌâÔÊý¾Ý(ͼ1 ÀýÌâÊý¾Ý)¼°²Ù×÷½á¹û(ͼ2 ²Ù×÷½á¹û)¡£
ÈçǰËùÊö,¶Ô¸Ã²Ù×÷½á¹û½øÐÐÅú¸Ä,ÒªÓÐÒ»¸öÌâÄ¿º¯ÊýºÍ¹«ÓÐÔľíÄ£¿é¡£ÌâÄ¿º¯ÊýµÄ¹¦ÄÜΪ´ò¿ª´ýÅú¸ÄµÄµç×Ó±í¸ñÎļþ,ÊäÈëÈ¡Ñùµ¥Ôª¸ñ×ø±ê¼°µ¥Ôª¸ñÄÚÊý¾Ý(´ð°¸),ͨ¹ýµ÷Óù«ÓÐÄ£¿é½«ÊäÈëµÄÊý¾Ý(´ð°¸)Óë²Ù×÷½á¹û½øÐÐÆ¥Åä¡£ ÌâÄ¿º¯ÊýÖ÷Òª´úÂë¼°Ïà¹ØËµÃ÷ÈçÏÂ: Function xls001(²ÎÊýÁбí) as single Score = 5¡®ÌâÄ¿³õʼ·ÖÖµ,¼ÙÉèΪ5·Ö
sfilename = \xls001.xls\´ýÅú¸ÄÎļþ·¾¶
Try¡®ÒýÈëtry ¡¡ catch Óï¾ä±ÜÃâÒòÎļþ²»´æÔÚµ¼Ö³ÌÐòÎÞ·¨ÔËÐÐ oexcelbook = oexcel.Workbooks.Open(sfilename) ¡®´ò¿ªÎļþ Try
Dim air(10) As Object '¸ÃÊý×éÓÃÓÚ±£´æÈ¡Ñùµ¥Ôª¸ñ×ø±ê Dim ascont(10) As Object '¸ÃÊý×éÓÃÓÚ±£´æÈ¡Ñùµ¥Ôª¸ñÄÚÊý¾Ý air = New Object() {\ÊäÈëÈ¡Ñùµ¥Ôª¸ñ×ø±ê
ascont = New Object() {\ƽ¾ùÖµÏî:¹¤×Ê\ÐÔ±ð\Ö°³Æ\ÊäÈëÈ¡Ñùµ¥Ôª¸ñÄÚÊý¾Ý(´ð°¸) xls001 = test(oexcel, air, ascont, score) Catch ex As Exception End Try