Exceller Home > VBA °­ÁÂ > VBA ÀÔ¹®°­ÁÂ

Exceller's VBA ÀÔ¹®°­ÁÂ

- ÃÖÃÊ ÀÛ¼ºÀÏ : 2008-05-11
- ÃÖÁ¾ ¼öÁ¤ÀÏ : 2008-05-11
- °­Á ÀÐÀ½¼ö : 12,080ȸ
- ÀÚ·á ÀÛ¼ºÀÚ :


- °­Á Á¦¸ñ : ÅÇ(Tab)¿¡ ±×·ì Ãß°¡Çϱâ

À̹ø °­Á´ ½Ã ÇÑÆíÀ¸·Î ½ÃÀÛÇÏ·Á ÇÕ´Ï´Ù.

¾î¸Ó´Ï´Â ±×·¡µµ µÇ´Â ÁÙ ¾Ë¾Ò½À´Ï´Ù (½É¼ø´ö)

ÇÏ·ç Á¾ÀÏ ¹ç¿¡¼­ Á×¾î¶ó Èûµé°Ô ÀÏÇØµµ
¾î¸Ó´Ï´Â ±×·¡µµ µÇ´Â ÁÙ ¾Ë¾Ò½À´Ï´Ù.
Âù¹ä ÇÑ µ¢ÀÌ·Î ´ëÃæ ºÎ¶Ñ¸·¿¡ ¾É¾Æ Á¡½ÉÀ» ¶§¿öµµ
¾î¸Ó´Ï´Â ±×·¡µµ µÇ´Â ÁÙ ¾Ë¾Ò½À´Ï´Ù.
ÇÑ°Ü¿ï ³Á¹°¿¡¼­ ¸Ç¼ÕÀ¸·Î »¡·¡¸¦ ¹æ¸ÁÀÌÁúÇØµµ
¾î¸Ó´Ï´Â ±×·¡µµ µÇ´Â ÁÙ ¾Ë¾Ò½À´Ï´Ù.
¹èºÎ¸£´Ù, »ý°¢ ¾ø´Ù, ½Ä±¸µé ´Ù ¸ÔÀÌ°í ±¾¾îµµ
¾î¸Ó´Ï´Â ±×·¡µµ µÇ´Â ÁÙ ¾Ë¾Ò½À´Ï´Ù.
¹ß µÚ²ÞÄ¡ ´Ù ÇìÁ® À̺ÒÀÌ ¼Ò¸®¸¦ ³»µµ
¾î¸Ó´Ï´Â ±×·¡µµ µÇ´Â ÁÙ ¾Ë¾Ò½À´Ï´Ù.
¼ÕÅéÀÌ ±ðÀ» ¼öÁ¶Â÷ ¾øÀÌ ´â°í ¹®µå·¯Á®µµ
¾î¸Ó´Ï´Â ±×·¡µµ µÇ´Â ÁÙ ¾Ë¾Ò½À´Ï´Ù.
¾Æ¹öÁö°¡ È­³»°í ÀڽĵéÀÌ ¼Ó½â¿©µµ ²ô¶±¾ø´Â
¾î¸Ó´Ï´Â ±×·¡µµ µÇ´Â ÁÙ ¾Ë¾Ò½À´Ï´Ù.
¿ÜÇÒ¸Ó´Ï º¸°í ½Í´Ù. ¿ÜÇÒ¸Ó´Ï º¸°í ½Í´Ù, ±×°ÍÀÌ ±×³É ³ÌµÎ¸®ÀÎ ÁÙ¸¸
ÇѹãÁß ÀÚ´Ù ±ú¾î ¹æ±¸¼®¿¡¼­ ÇѾøÀÌ ¼Ò¸® Á׿© ¿ï´ø ¾î¸Ó´Ï¸¦ º» ÈÄ·Ð....
¾Æ!.....
¾î¸Ó´Ï´Â ±×·¯¸é ¾È µÇ´Â °ÍÀ̾ú½À´Ï´Ù.
±×·¯¸é....
¾È µÇ´Â °ÍÀ̾ú½À´Ï´Ù

"Á¸°æ¹Þ´Â ºÎ¸ð°¡ µÇ±â´Â ½¬¿öµµ »ç¶û¹Þ´Â ºÎ¸ð°¡ µÇ±â´Â ¾î·Æ´Ù"´Â ¸»... ÀÌÁ¦´Â °¡½¿À¸·Î ÀÌÇØÇÒ ¼ö ÀÖÀ» °Í °°½À´Ï´Ù.

"°í¸¿½À´Ï´Ù. ±×¸®°í... »ç¶ûÇÕ´Ï´Ù!!"


¿¹Á¦ ÆÄÀÏ ³»·Á¹Þ±â


À̹ø °­Á´ "<¿¢¼¿ 2007 ¸ÅÅ©·Î¿Í VBA ³¯°³´Þ±â>(µðÁöÅкϽº)"¿¡¼­ ÆíÁý/ÀοëÇÑ °ÍÀÔ´Ï´Ù.

µé¾î°¡±â Àü¿¡...

¸®º»°ú °ü·ÃµÈ À̹ø °­Á´ VBA ÀÔ¹®°­Á¶ó°í Çϱ⿡´Â Á» ¹«¸®°¡ ÀÖ½À´Ï´Ù¸¸, º°µµÀÇ ¼½¼ÇÀ¸·Î ±¸ºÐÇϱ⵵ ¹¹Çϰí ÇØ¼­ ±×³É ÀÌ ¹üÁÖ¿¡ Æ÷ÇÔ½ÃÄ×½À´Ï´Ù. VBA¸¦ óÀ½ Á¢ÇÏ´Â ºÐÀ̶ó¸é 'ÀÌ·± °Íµµ ÀÖ±º' ÇÏ´Â Á¤µµ·Î ºÎ´ã¾øÀÌ ÀÐ°í ³Ñ¾î°¡¼Åµµ µË´Ï´Ù.

¿¢¼¿ 2007 ¹öÀüÀ¸·Î ³Ñ¾î¿À¸é¼­ °¡Àå Å©°Ô ¹Ù²ï ºÎºÐ Áß Çϳª°¡ ¸®º»(Ribbon)À» ±â¹ÝÀ¸·Î ÇÑ »ç¿ëÀÚ ÀÎÅÍÆäÀ̽º¶ó°í ÇÒ ¼ö ÀÖ½À´Ï´Ù. ¿¢¼¿ 2007ÀÇ '¸®º»(Ribbon & Tab)' ÀÎÅÍÆäÀ̽º´Â ÀÌÀü ¹öÀüÀÇ '¸Þ´º¿Í µµ±¸ ¸ðÀ½(Menu & Toolbar)' ÀÎÅÍÆäÀ̽º¿Í´Â ±Ùº»ÀûÀ¸·Î ´Ù¸¨´Ï´Ù. ±âÁ¸ ¿¢¼¿ÀÇ ¸Þ´º ±¸Á¶¿¡ Àͼ÷ÇÑ »ç¿ëÀÚÀϼö·Ï ¿¢¼¿ 2007ÀÇ »õ·Î¿î ¸Þ´º ±¸Á¶¿¡ ÀûÀÀÇϴµ¥ ¾Ö·Î¸¦ °Þ±âµµ ÇÕ´Ï´Ù. ¿¢¼¿ Ãʺ¸ÀÚÀϼö·Ï ¿¢¼¿ 2007ÀÇ ÀÎÅÍÆäÀ̽º¿¡ Àß ÀûÀÀÇÑ´Ù´Â ¾ê±âµµ ±×·¡¼­ ³ª¿Â °Í °°½À´Ï´Ù.

Àá½Ã ±â¾ïÀ» ´õµë¾î º¸¸é... ¿¢¼¿ 2003¹öÀü±îÁö´Â ¸Þ´º¸¦ ¼öÁ¤ÇÒ ¶§ Ä¿¸Çµå ¹Ù(CommandBar) ¿ÀºêÁ§Æ®¸¦ »ç¿ëÇÏ¿´À¸¸ç, ´ÙÀ½°ú °°ÀÌ 3°¡Áö Á¾·ùÀÇ Ä¿¸Çµå ¹Ù¸¦ »ç¿ëÇÒ ¼ö ÀÖ¾ú½À´Ï´Ù.

ŸÀÔ »ó¼ö Á¾·ù
0 msoBarTypeNormal µµ±¸ ¸ðÀ½(ToolBar)
1 msoBarTypeMenuBar ¸Þ´º ¹Ù(MenuBar)
2 msoBarTypePopup ´ÜÃà ¸Þ´º(Shortcut Menu)

ž¼­ ÀÌ·± Èñ¾ÈÇÑ ¾ê±â´Â óÀ½ µé¾îº¸½Å´Ù±¸¿ä? ±×·²¸®°¡¿ä. ^^;

http://www.iExceller.com/MyXls/Lectures/VisualBasic/VB0117.zip

ÀÌ Áß¿¡¼­ msoBarTypePopUp, Áï ´ÜÃà ¸Þ´º´Â ¿¢¼¿ 2007 ¹öÀü¿¡¼­µµ °è¼Ó »ç¿ëÇÒ ¼ö ÀÖ´Â ¹Ý¸é, ¸Þ´º ¹Ù¿Í µµ±¸ ¸ðÀ½Àº ¡®¸®º»¡¯À¸·Î ´ëüµÇ¾ú½À´Ï´Ù. ÀÌÀü ¹öÀü°úÀÇ È£È¯¼ºÀ» °í·ÁÇÏ¿© °ú°Å ¹öÀüÀÇ ¸Þ´º ¹Ù¿Í µµ±¸ ¸ðÀ½µµ »ç¿ëÇÒ ¼ö´Â ÀÖ½À´Ï´Ù¸¸, Ç¥½ÃµÇ´Â À§Ä¡°¡ ¡®Ãß°¡ ±â´É¡¯ ÅÇÀ¸·Î À̵¿µÇ¸ç, °æ¿ì¿¡ µû¶ó¼­´Â ½ÇÇàµÇÁö ¾Ê°í ¹«½ÃµÇ´Â ¼Ó¼ºÀ̳ª ¸Þ¼­µå°¡ ´Ù¼ö ÀÖ½À´Ï´Ù. ´ÙÀ½ÀÇ µÎ ±×¸²À» ºñ±³ÇØ º¸¼¼¿ä.

À§ÀÇ °ÍÀº 'Power Tools'¶ó´Â Ãß°¡ ±â´É(Add-in) ÆÄÀÏÀ» ¿¢¼¿ 2003¿¡¼­ ½ÇÇà½ÃŲ °ÍÀ̰í, ¾Æ·¡ °ÍÀº °°Àº ÆÄÀÏÀ» ¿¢¼¿ 2007¿¡¼­ ½ÇÇà½ÃŲ °ÍÀÔ´Ï´Ù. º¸½Å °Íó·³ ¿¢¼¿ 2007¿¡¼­´Â ¸ðµç µµ±¸ ¸ðÀ½À̳ª »ç¿ëÀÚ ÁöÁ¤ ¸Þ´º°¡ 'Ãß°¡ ±â´É' ÅÇ¿¡ Ç¥½ÃµË´Ï´Ù. ÇØ¸¶´Ù ±¤º¹Àý ¹«·ÆÀ̸é 'ÆÄ¿öÅø½º' ¾÷±×·¹ÀÌµå ¹öÀüÀ» ¿Ã·Áµå¸®°ï Çߴµ¥ ÃÖ±Ù ¸î ³â µ¿¾ÈÀº ¶äÇß½À´Ï´Ù. ¿Ã ±¤º¹Àý¿¡´Â »õ·Î¿î ±â´ÉÀÌ º¸°­µÈ ÆÄ¿öÅø½º¸¦ ¿©·¯ºÐµé²² ¼±º¸ÀÏ ¼ö Àֱ⸦ ±â´ëÇØ º¾´Ï´Ù.

¸®º» ÄÁÆ®·Ñ¿¡ Á¢±ÙÇϱâ

¾ê±â°¡ Àá½Ã »ïõÆ÷·Î Èê·¶½À´Ï´Ù. ´Ù½Ã º»·ÐÀ¸·Î µ¹¾Æ¿Í¼­...
VB
Editor »óÅ¿¡¼­ ¡®º¸±â-Á÷Á¢ ½ÇÇà ⡯ ¸Þ´º¸¦ ¼±ÅÃ(¶Ç´Â Ctrl+G Ű)ÇÏ¿© Á÷Á¢ ½ÇÇà âÀ» Ç¥½ÃÇÑ ´ÙÀ½, ¿©±â¿¡ ´ÙÀ½°ú °°ÀÌ ÀÔ·ÂÇÏ°í ¿£ÅÍ۸¦ ÃÄ º¸¼¼¿ä.

?  Application.CommandBars.GetEnabledMso("RemoveDuplicates")

ÀÌ Äڵ带 ½ÇÇàÇÏ¸é ¡®True¡¯¶ó´Â °á°ú°ªÀ» ¾òÀ» ¼ö ÀÖ½À´Ï´Ù. À̰ÍÀÌ ÀǹÌÇÏ´Â °ÍÀº RemoveDuplicates ÄÁÆ®·Ñ, Áï ¡®µ¥ÀÌÅÍ¡¯ ÅÇ¿¡ ÀÖ´Â ¡®Áߺ¹µÈ Ç׸ñ Á¦°Å ÄÁÆ®·Ñ'À» »ç¿ëÇÒ ¼ö ÀÖ´Â »óŶó´Â ¶æÀÌ µÇ°Ú½À´Ï´Ù.

¡¡

ÄÁÆ®·Ñ À̸§Àº ´ë¼Ò¹®ÀÚ¸¦ ±¸ºÐÇϹǷΠ¹Ýµå½Ã »ç¿ëÀÚ ÁöÁ¤ ¸Þ´º¿¡¼­ ½ºÆç¸µÀ» È®ÀÎÇϼ¼¿ä. ¶ÇÇÑ ÄÁÆ®·Ñ À̸§Àº ±âº»ÀûÀ¸·Î ¿µ¹®ÀÚ¸¸ Áö¿øÇÕ´Ï´Ù. µÚ¿¡¼­ ¼Ò°³ÇØ µå¸± ¸®º»X ÄÚµåÀÇ °æ¿ìµµ ¸¶Âù°¡ÁöÀ̹ǷΠº» Ã¥¿¡¼­´Â ÅÇÀ» Ãß°¡Çϰųª ±×·ìÀ» Ãß°¡ÇÏ´Â Äڵ带 ÀÛ¼ºÇÒ ¶§ ¿µ¹®À¸·Î ÀÛ¼ºÇϰڽÀ´Ï´Ù.

¿¢¼¿ 2007¿¡´Â ¾à 1,700°³ ÀÌ»óÀÇ ÄÁÆ®·ÑµéÀÌ ÀÖ½À´Ï´Ù. ¸ðµç ÄÁÆ®·ÑÀº °íÀ¯ÀÇ À̸§À» °¡Áö°í À־ VBA·Î ÇÁ·Î±×·¡¹ÖÀ» ÇÒ ¶§¿¡´Â À̸§À» »ç¿ëÇÏ¿© ºÒ·¯´Ù°¡ ÀÏÀ» ½Ãų ¼ö ÀÖ½À´Ï´Ù. ÇÏÁö¸¸ ºÒÇàÇϰԵµ ¿¢¼¿ 2007¿¡¼­´Â ¼ö¸¹Àº ¸®º» ÄÁÆ®·ÑÀÇ À̸§À̳ª ¼Ó¼ºÀ» VBA¸¦ ÅëÇØ Ç¥½ÃÇÒ ¼ö ÀÖ´Â ¹æ¹ýÀ» Á¦°øÇϰí ÀÖÁö ¾Ê½À´Ï´Ù. ÄÁÆ®·ÑÀÇ À̸§À» ÆÄ¾ÇÇÏ´Â À¯ÀÏÇÑ ¹æ¹ýÀº ¡®Excel ¿É¼Ç¡¯ ´ëÈ­»óÀÚÀÇ ¡®»ç¿ëÀÚ ÁöÁ¤¡¯ ¸Þ´º¿¡¼­ Á÷Á¢ È®ÀÎÇÏ´Â ¹æ¹ý ¹Û¿¡ ¾ø½À´Ï´Ù. Ȥ½Ã ´Ù¸¥ Æí¸®ÇÑ ¹æ¹ýÀ» ¾Ë°í °è½Å ºÐÀº ¾Ë·ÁÁÖ¼¼¿ä!

¾Õ¿¡¼­´Â Ä¿¸Çµå ¹Ù ¿ÀºêÁ§Æ®ÀÇ GetEnabledMso ¸Þ¼­µå·Î Å×½ºÆ® ÇØ º¸¾Ò´Âµ¥ »ç¿ë°¡´ÉÇÑ ¸Þ¼­µå´Â ÀÌ°Í ¸»°íµµ ¸î °¡Áö°¡ ´õ ÀÖ½À´Ï´Ù.

¸Þ¼­µå ¼³ ¸í
ExecuteMso ÄÁÆ®·ÑÀ» ½ÇÇàÇÕ´Ï´Ù.
GetEnabledMso ÄÁÆ®·ÑÀÌ »ç¿ë °¡´ÉÇÑ »óÅÂÀ̸é True °ªÀ» µ¹·ÁÁÝ´Ï´Ù.
GetImageMso ÄÁÆ®·ÑÀÇ À̹ÌÁö¸¦ ¾Ë·ÁÁÝ´Ï´Ù.
GetLabelMso ÄÁÆ®·ÑÀÇ ·¹À̺íÀ» ¾Ë·ÁÁÝ´Ï´Ù.
GetPressedMso ÇØ´ç ÄÁÆ®·ÑÀÌ ´­·ÁÁ³À¸¸é True °ªÀ» µ¹·ÁÁÝ´Ï´Ù.
GetScreentipMso ÇØ´ç ÄÁÆ®·ÑÀÇ ½ºÅ©¸° ÆÁ µµ¿ò¸»À» Ç¥½ÃÇÕ´Ï´Ù.
GetSupertipMso ÇØ´ç ÄÁÆ®·Ñ¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ ¼³¸íÀ» Ç¥½ÃÇÕ´Ï´Ù.

¿¹¸¦ µé¾î ExecuteMso ¸Þ¼­µå¸¦ »ç¿ëÇÏ¿© ´ÙÀ½°ú °°ÀÌ Ç¥ÇöÇÏ¸é ¡®Â÷Æ® »ðÀÔ¡¯ ´ëÈ­»óÀÚ°¡ ³ªÅ¸³³´Ï´Ù.

Application.CommandBars.ExecuteMso("ChartTypeAllInsertDialog")

Application.CommandBars.ExecuteMso("ChartTypeAllInsertDialog")

´ÙÀ½ Äڵ带 ½ÇÇàÇÏ¸é ¡®¼±ÅÃÇÏ¿© ºÙ¿©³Ö±â¡¯ ÄÁÆ®·Ñ¿¡ ´ëÇÑ Ç³¼± ÇüÅÂÀÇ µµ¿ò¸»ÀÌ Ç¥½ÃµË´Ï´Ù.

Msgbox Application.CommandBars.GetScreentipMso("PasteSpecialDialog")

ƯÁ¤ ÄÁÆ®·Ñ¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ ¼³¸íÀ» º¸·Á¸é GetSupertipMso ¸Þ¼­µå¸¦ »ç¿ëÇÕ´Ï´Ù. ¡®ºÙ¿©³Ö±â¡¯ ÄÁÆ®·Ñ¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ ¼³¸íÀ» º¸·Á¸é ÀÌ·¸°Ô ÇÏ¸é µË´Ï´Ù.

Msgbox Application.CommandBars.GetSupertipMso("PasteMenu")

¸î °¡Áö ¿¹Á¦¸¦ ÅëÇØ »ìÆìº¸¾Ò½À´Ï´Ù¸¸, ¿¢¼¿ 2007¿¡¼­´Â ÀÌÀü ¹öÀü°ú´Â ´Þ¸® VBA ÇÁ·Î±×·¡¹ÖÀ» ÅëÇØ ¸®º»À» Á¦¾îÇϴµ¥ ¸¹Àº Á¦¾àÀÌ ÀÖ½À´Ï´Ù. »õ·Î¿î ÅÇÀ» Ãß°¡Çϰųª ±×·ìÀ» Ãß°¡ÇÒ ¼ö ¾øÀ¸¸ç, ±âÁ¸ ÅÇÀ̳ª ±×·ìÀ» »èÁ¦ÇÒ ¼öµµ ¾ø½À´Ï´Ù. »Ó¸¸ ¾Æ´Ï¶ó ÄÁÆ®·ÑÀ» Ãß°¡/¼öÁ¤/»èÁ¦/ºñȰ¼ºÈ­ µîÀ» ÇÒ ¼öµµ ¾ø½À´Ï´Ù. ÀÌÀü ¹öÀü¿¡¼­ Ä¿¸Çµå ¹Ù ¿ÀºêÁ§Æ®¸¦ ÅëÇØ ¿¢¼¿ÀÇ ¸Þ´º³ª µµ±¸ ¸ðÀ½ µîÀ» ÀÚÀ¯·Ó°Ô ¼öÁ¤Çϰųª Ãß°¡ÇÏ´ø °Í°ú ºñ±³ÇØ º¸¸é "Á¤ÀÛ ¾µµ¥ÀÖ´Â ÀÏÀº º°·Î ÇÒ ¼ö ¾ø´Ù"´Â »ý°¢À» ¶³Ä¥ ¼ö°¡ ¾ø½À´Ï´Ù.

±×·¸´Ù¸é ¸®º»À» Ä¿½ºÅ͸¶ÀÌ¡(»ç¿ëÀÚÈ­) ÇÏ´Â ¹æ¹ýÀº Á¤³ç ¾ø´Ü ¸»Àΰ¡?
¾Õ¼­ Àá±ñ ¾ð±ÞÇÑ °Íó·³, ÀϹÝÀûÀÎ VBA¸¦ »ç¿ëÇØ¼­´Â ºÒ°¡´ÉÇÕ´Ï´Ù. ÇÏÁö¸¸ ¸®º»X Äڵ带 ÀÛ¼ºÇÏ¸é °¡´ÉÀº ÇÕ´Ï´Ù. ¸®º»X ÄÚµå(RibbonX code)¶õ XML(eXtensible Mark-up Language)À» ÀÌ¿ëÇÏ¿© ÀÛ¼ºµÈ °ÍÀ¸·Î ÄÁÆ®·ÑÀÇ ¸ð¾çÀ̳ª ÀÛµ¿ ¸í·É°ú °ü·ÃµÈ °¢Á¾ Á¤º¸¸¦ ´ã°í ÀÖ½À´Ï´Ù. XMLÀ̳ª ¸®º»X´Â ±× ÀÚü¸¸À¸·Îµµ ¾öû³ª°Ô ¹æ´ëÇÏ¿© º» °­ÁÂÀÇ ¹üÀ§¸¦ ¹þ¾î³ª¹Ç·Î ¿©±â¼­´Â ¸®º»X Äڵ带 »ç¿ëÇÏ¿© ¾î¶»°Ô ¸®º»À» »ç¿ëÀÚÈ­ ÇÏ´ÂÁö¿¡ ´ëÇÑ °£´ÜÇÑ ¿¹Á¦ ¸î °¡Áö¸¦ »ìÆìº¸°Ú½À´Ï´Ù(XML°ú °ü·ÃÇØ¼­´Â °Ë»ö¿£Áø¿¡¼­ ã¾Æº¸½Ã°Å³ª ´Ù¸¥ Ã¥À» Âü°íÇϼ¼¿ä).

±âÁ¸ ÅÇ ¾Æ·¡¿¡ »õ·Î¿î ±×·ì Ãß°¡Çϱâ

¸®º»X Äڵ带 »ç¿ëÇÏ¿© ±âÁ¸ÀÇ ÅÇ ¾Æ·¡¿¡ »õ·Î¿î ±×·ìÀ» Ãß°¡ÇØ º¸°Ú½À´Ï´Ù. ºñ·Ï º» °­Á¿¡¼­´Â XMLÀ̳ª ¸®º»X¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ ¼³¸íÀº ´ã°í ÀÖÁö ¾ÊÁö¸¸ ´Ü°èÀû ¼³¸íÀ» ÅëÇØ ¿¢¼¿ 2007ÀÇ »ç¿ëÀÚ ÀÎÅÍÆäÀ̽ºÀÎ ¸®º»À» ¾î¶»°Ô »ç¿ëÀÚÈ­ ÇÏ´ÂÁö¿¡ ´ëÇØ¼­´Â ÃæºÐÈ÷ ÀÌÇØÇÏ½Ç ¼ö ÀÖÀ¸¸®¶ó »ý°¢ÇÕ´Ï´Ù.

¿©°ÇÀÌ µÇ½Ã´Â ºÐÀº ´ÙÀ½ °Ô½Ã¹°À» Âü°íÇØ º¸¼¼¿ä. ¸®º»X¿Í °ü·ÃµÈ ¸î °¡Áö µµ¿òµÉ¸¸ÇÑ Á¤º¸µéÀÌ µé¾î ÀÖ½À´Ï´Ù.

http://msdn.microsoft.com/ko-kr/magazine/cc163469.aspx

¸®º»À» »ç¿ëÀÚÈ­ Çϱâ Àü¿¡ ¡®Office ´ÜÃß¡¯¸¦ Ŭ¸¯ÇÏ°í ¡®Excel ¿É¼Ç¡¯ ¹öưÀ» ´©¸¨´Ï´Ù. ¡®Excel ¿É¼Ç¡¯ ´ëÈ­»óÀÚ¿¡¼­ '°í±Þ'À» ¼±ÅÃÇÑ ´ÙÀ½, 'Ãß°¡ ±â´ÉÀÇ »ç¿ëÀÚ ÀÎÅÍÆäÀ̽º ¿À·ù Ç¥½Ã' Ç׸ñ¿¡ üũ Ç¥½Ã¸¦ ÇØ µÎ¼¼¿ä. ÀÌ·¸°Ô ÇØ µÎ¸é ¸®º»X ÄÚµåÀÇ ¾î´À ºÎºÐ¿¡¼­ ¿À·ù°¡ ¹ß»ýÇß´ÂÁö ±× À§Ä¡¸¦ ¾Ë·ÁÁֹǷΠµð¹ö±ë ÀÛ¾÷À» ¼ö¿ùÇÏ°Ô ÇÒ ¼ö ÀÖ½À´Ï´Ù.

(1) »õ·Î¿î ÅëÇÕ¹®¼­¸¦ Çϳª ¸¸µì´Ï´Ù. ¸ðµâ ½ÃÆ®¸¦ Çϳª Ãß°¡ÇÏ°í µÎ °³ÀÇ Äݹé ÇÁ·Î½ÃÀú(Callback Procedure)¸¦ ÀÛ¼ºÇÕ´Ï´Ù. Äݹé ÇÁ·Î½ÃÀú¶õ ½±°Ô ¸»ÇÏÀÚ¸é, ¸®º»ÀÇ ÄÁÆ®·ÑÀÌ È°¼ºÈ­ µÇ¾úÀ» ¶§ ½ÇÇàµÇ´Â ÇÁ·Î½ÃÀú¸¦ ÀǹÌÇÕ´Ï´Ù.

Sub SayHello(control As IRibbonControl)
    MsgBox "¾È³çÇϼ¼¿ä " & Application.UserName & "´Ô!"
End Sub

Sub GoodBye(control As IRibbonControl)
    Dim intAnswer As Integer
    intAnswer = MsgBox("ÆÄÀÏÀ» ´ÝÀ»±î¿ä?", vbYesNo)
    If intAnswer = vbYes Then ThisWorkbook.Close
End Sub

(2) ÅëÇÕ¹®¼­ÀÇ À̸§À» ¡®¸®º»X_±×·ìÃß°¡.xlsm'À̶ó°í ÁöÁ¤Çϰí ÅëÇÕ¹®¼­¸¦ ´Ý½À´Ï´Ù. À©µµ¿ì Ž»ö±â¸¦ ÀÌ¿ëÇÏ¿© ¡®¸®º»X_±×·ìÃß°¡.xlsm' ÆÄÀÏÀÌ ÀúÀåµÈ Æú´õ ¾È¿¡ ¡®customUI¡¯¶ó´Â Æú´õ¸¦ ¸¸µì´Ï´Ù. ¸Þ¸ðÀåÀ̳ª ¿öµåÆÐµå µî°ú °°Àº ÅØ½ºÆ® ¿¡µðÅ͸¦ ÀÌ¿ëÇÏ¿© ´ÙÀ½°ú °°ÀÌ ÀÔ·ÂÇÏ°í ¡®customUI.xml¡¯À̶ó´Â À̸§À¸·Î ÀúÀåÇÕ´Ï´Ù.

<customUI xmlns='http://schemas.microsoft.com/office/2006/01/customui'>
<ribbon>
<tabs>
<tab idMso="TabData">
    <group id="Group1" label="Hi, there!">
      <button id="Button1"
        label="Hello!"
        size="normal"
        onAction="SayHello"
        imageMso="ReviewAllowUsersToEditRanges" />
    <button id="Button2"
        label="Goodbye~~"
        size="normal"
        onAction="Goodbye"
        imageMso="InkToolsClose" />
    </group>
</tab>
</tabs>
</ribbon>
</customUI>

(3) ¡®¸®º»X_±×·ìÃß°¡.xlsm' ÆÄÀÏ À̸§ µÚ¿¡ ¡®.zip¡¯À» Ãß°¡ÇÏ¿© ÆÄÀÏ À̸§À» ¡®¸®º»X_±×·ìÃß°¡.xlsm.zip'À¸·Î ¼öÁ¤ÇÕ´Ï´Ù. ¾Õ¿¡¼­ ÀÛ¼ºÇÑ customUI ÆÄÀÏÀ» ¸®º»X_±×·ìÃß°¡.xlsm.zip ÆÄÀÏ·Î µå·¡±×ÇÏ¿© Ãß°¡½Ãŵ´Ï´Ù. ¸®º»X_±×·ìÃß°¡.xlsm.zip ÆÄÀÏÀ» ´õºíŬ¸¯ ÇØº¸¸é ±×¸²°ú °°ÀÌ ÇÏÀ§¿¡ Æú´õµéÀÌ ³ªÅ¸³³´Ï´Ù.

(4) ¡®_rels¡¯ Æú´õ¸¦ ´õºíŬ¸¯ ÇÑ ´ÙÀ½ ¡®.rels¡¯ ÆÄÀÏÀ» zip ÆÄÀÏ ¹Ù±ùÀ¸·Î µå·¡±× ÇÕ´Ï´Ù(¿¹¸¦ µé¸é ¹ÙÅÁÈ­¸é). ¿öµåÆÐµå¸¦ ÀÌ¿ëÇÏ¿© ¡®.rels¡¯ ÆÄÀÏÀ» ¿±´Ï´Ù. ´ÙÀ½ ³»¿ëÀ» </Relationships> ÅÂ±× ¾Õ Àû´çÇÑ °÷¿¡ »ðÀÔÇÕ´Ï´Ù.

<Relationship Id="RibbonXTest" Type="http://schemas.microsoft.com/office/2006/relationships/ui/
extensibility" Target="customUI/customUI.xml"/>

(5) ÆÄÀÏÀ» ÀúÀåÇÑ ´ÙÀ½ ¹ÙÅÁÈ­¸é¿¡ ÀÖ´Â .rels ÆÄÀÏÀ» µå·¡±×ÇÏ¿© zip ÆÄÀÏ ³»ÀÇ ¿ø·¡ À§Ä¡·Î ¿Å±é´Ï´Ù. Áï µ¤¾î¾²±â¸¦ ÇÏ´Â °ÍÀÔ´Ï´Ù. À©µµ¿ì Ž»ö±â¿¡¼­ ¸®º»X_±×·ìÃß°¡.xlsm.zip ÆÄÀÏÀÇ À̸§À» ´Ù½Ã ¿ø·¡´ë·Î ¹Ù²Ù¾î ÁÝ´Ï´Ù(¸®º»X_±×·ìÃß°¡.xlsm). ÀÌÁ¦ ¿¢¼¿¿¡¼­ ÀÌ ÆÄÀÏÀ» ¿­¾î º¸¼¼¿ä. ¡®µ¥ÀÌÅÍ¡¯ ÅÇ¿¡ ¡®Hi, there!¡¯¶ó´Â ±×·ìÀÌ Ãß°¡µÇ¾ú°í, ÄÁÆ®·ÑÀ» Ŭ¸¯ÇÏ¸é ¾Õ¿¡¼­ ÀÛ¼ºÇÑ Äݹé ÇÁ·Î½ÃÀú°¡ ½ÇÇàµË´Ï´Ù.

¾Õ¿¡¼­ ÀÛ¼ºÇÑ ÄÚµå, Áï µ¥ÀÌÅÍ ÅÇ ¾Æ·¡¿¡ »õ·Î¿î ±×·ìÀ» Ãß°¡ÇÑ ÄÚµå´Â ÇöÀç ¿öÅ©ºÏ¿¡¼­¸¸ Àû¿ëµË´Ï´Ù. ¸¸¾à ¸ðµç ÆÄÀÏ¿¡ Àû¿ëµÇµµ·Ï ÇÏ·Á¸é Ãß°¡ ±â´É ÆÄÀÏ(.xla ¶Ç´Â .xlam)·Î ¸¸µé°Å³ª ¡®°³ÀÎ¿ë ¸ÅÅ©·Î ÅëÇÕ ¹®¼­(Personal.xlsb)¡¯¿¡ ÀúÀåÇÏ¸é µË´Ï´Ù.

ÀÌ»óÀÇ º¹ÀâÇÑ °úÁ¤À» ÅëÇØ ¿ì¸®´Â Open XML ÆÄÀÏÀÌ "´Ù¾çÇÑ ¹æ½ÄÀ¸·Î ¼­·Î ¿¬°áµÇ¾î ÀÖ´Â ¿©·¯ °³ÀÇ ÆÄÀϵéÀ» Æ÷ÇÔÇÏ´Â ¾ÐÃà ÆÐŰÁö"ÀÓÀ» ¾Ë ¼ö ÀÖ½À´Ï´Ù. ±×·±µ¥ ¸Å¹ø ¸®º»ÀÇ ³»¿ëÀ» º¯°æÇÒ ¶§¸¶´Ù .zip ÆÄÀÏ·Î º¯°æÇÏ°í ³»¿ëÀ» ÆíÁýÇÏ°í ´Ù½Ã ¿ø·¡´ë·Î µÇµ¹¸®°í ÇÏ´Â ÀÌ·± ÀÏ·ÃÀÇ °úÁ¤Àº ÂüÀ¸·Î ¹ø°Å·Ó½À´Ï´Ù. ¿©±â±îÁö º¸½Å ºÐ Áß¿¡¼­´Â ¾Æ¸¶µµ ÀÌ·± »ý°¢À» ÇÏ´Â ºÐµµ °è½Ç µí ÇÕ´Ï´Ù.

'¾Æ... ¸®º»À» »ç¿ëÀÚÈ­ ÇÏ´Â °ÍÀº ³» Àû¼º¿¡ ¸ÂÁö ¾ÊÀ¸´Ï ÀÌÂë¿¡¼­ ´Ù¸¥ Àç¹Ì³­ °ÍÀ» ã¾Æ¾ß°Ú´Ù~~¡¯

ÇÏÁö¸¸ ³Ê¹« °ÆÁ¤ÇÏÁö ¸¶¼¼¿ä! ±æÀÌ ÀÖÀ¸¸é ¶æÀÌ ÀÖ´Â ¹ý... ¾Æ´ÏÁö... ¶æÀÌ ÀÖÀ¸¸é ±æÀÌ ÀÖ´Â ¹ýÀ̴ϱî¿ä. ÀÌ·± ¹ø°Å·Î¿î °úÁ¤À» °ÅÄ¡Áö ¾Ê°í¼­µµ ¸®º»XÀÇ XML°ú ¾ÆÀÌÄÜÀÇ À̹ÌÁö¸¦ º¯°æÇÒ ¼ö ÀÖ´Â ¹æ¹ýÀÌ ÀÖ½À´Ï´Ù. ´ÙÀ½ »çÀÌÆ®¿¡ °¡ º¸½Ã¸é Open XML ÆÄÀÏ Çü½ÄÀ» ´Ù·ç´Âµ¥ ÇÊ¿äÇÑ ¿©·¯ °¡Áö µµ±¸µéÀ» º¸½Ç ¼ö ÀÖ½À´Ï´Ù.

http://openxmldeveloper.org/archive/2006/05/26/CustomUIeditor.aspx

¿©±â¼­ ¡®Office 2007 Custom UI Editor¡¯¶ó´Â µµ±¸¸¦ ³»·Á¹Þ¾Æ »ç¿ëÇØ º¸½Ã±â ¹Ù¶ø´Ï´Ù. ÀÌ µµ±¸¸¦ ÀÌ¿ëÇÏ¸é ¾Õ¼­ ¼öÇàÇß´ø ¿©·¯ ´Ü°è¿¡ °ÉÄ£ ¼º°¡½Å ÀÛ¾÷µéÀ» ÇÏÁö ¾Ê¾Æµµ µÉ »Ó¸¸ ¾Æ´Ï¶ó ¸®º»X Äڵ带 ÀÛ¼ºÇÑ ´ÙÀ½ À¯È¿¼º °Ë»ç¸¦ ¹Ù·Î ÇÒ ¼ö ÀÖ°í, Äݹé ÇÁ·Î½ÃÀú À̸§µµ ÀÚµ¿À¸·Î »ý¼ºÇØ ÁֹǷΠVBA ¸ðµâ¿¡ ±×´ë·Î º¹»çÇÏ¿© »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.

À§ÀÇ XML Äڵ尡 Àß ¾Èº¸À̰ųª Á÷Á¢ ÀÔ·ÂÇϱ⠾î·Á¿î ºÐÀº ´ÙÀ½ ¿¹Á¦ ÆÄÀÏÀ» ³»·Á¹Þ¾Æ Office 2007 Custom UI Editor¿¡ ºÙ¿©³ÖÀ¸¼¼¿ä.

XML ÄÚµå ³»·Á¹Þ±â

´ÙÀ½ ½Ã°£¿¡´Â »õ·Î¿î ÅÇÀ» ¸¸µå´Â ¹æ¹ý¿¡ ´ëÇØ »ìÆìº¸°Ú½À´Ï´Ù. ¹ú½áºÎÅÍ ±â´ëµÇ½ÃÁÒ?
¡®Office 2007 Custom UI Editor¡¯
¸¦ ÀÌ¿ëÇÒ ¿¹Á¤À̹ǷΠÀÌ µµ±¸ÀÇ »ç¿ë¹ýÀ» Àß ÀÍÇôµÎ½Ã±â ¹Ù¶ø´Ï´Ù. »ç¿ë ¹æ¹ýÀÌ ´Ü¼øÇÏ´Ï±î ¾ÆÀÌÄܵéÀ» ¸î¹ø¸¸ Ŭ¸¯ÇØ º¸¸é ±Ý¹æ ¼Õ¿¡ ÀÍÀ¸¸®¶ó »ý°¢ÇÕ´Ï´Ù(¿À·£¸¸¿¡... ¼÷Á¦·Î ³»µå¸³´Ï´Ù ^^).


Previous

Next

Copyright ¨Ï 2008 ¾ÆÀÌ¿¢¼¿·¯ ´åÄÄ. All rights reserved.