°³¿ä
À̰÷¿¡¼­´Â Visual Basic°ú Microsoft Excel¿¡¼­ »ç¿ë°¡´ÉÇÑ VBA(Visual Basic Application)¸¦ »ç¿ëÇÏ´Â ¹æ¹ý¿¡ ´ëÇØ ¼³¸íÇϰڽÀ´Ï´Ù.
MS-Excel VBA¿Í GOM ½ÃÀÛ
Microsoft Excel¿¡¼­´Â VB ¿£ÁøÀ» žÁ¦ÇÏ¿´±â ¶§¹®¿¡ »ç¿ëÀÚÀÇ °£´ÜÇÑ ÇÁ·Î±×·¡¹ÖÀ» ÅëÇÏ¿© Excel Document¿¡ ´ëÇÑ ÄÁÆ®·ÑÀ» ÇÒ ¼ö ÀÖ½À´Ï´Ù. À̸¦ À§ÇØ »ç¿ëÀÚ´Â µµ±¸°¡ µÇ´Â Visual BasicÀÇ ¹®¹ý°ú Excel Document¿¡ ´ëÇÏ¿© ¾î´À Á¤µµ ÀÌÇØ°¡ ÀÖ¾î¾ß ÇÕ´Ï´Ù.

Late Binding À» »ç¿ëÇÏ´Â °æ¿ì ŸÀÔ ¶óÀ̺귯¸®¸¦ »ç¿ëÇÒ Çʿ䰡 ¾øÁö¸¸ ÀúÈñ°¡ Early BindingÀ» °­·Â ±Ç°íÇϹǷΠEarly Binding ÀÌ¿ëÀ» °¡Á¤ÇÏ°í ¼³¸íÀ» ÁøÇà ÇϰڽÀ´Ï´Ù.

ŸÀÔ ¶óÀ̺귯¸®¸¦ importÇÏ´Â È­¸é

VBA ÇÁ·ÎÁ§Æ®¿¡¼­ GOMÀ» ½ÃÀÛÀ§ÇÑ Ã¹ ´Ü°è´Â GOM ŸÀÔ ¶óÀ̺귯¸® importÀÔ´Ï´Ù. ÀÛ¾÷Àº ´ÙÀ½°ú °°Àº ¼ø¼­·Î ÁøÇàÇÕ´Ï´Ù.

- ExcelÀ» ¿¬ ÈÄ Visual Basic Editor¸¦ ¿±´Ï´Ù.
- Visual Basic Editor ¸Þ´ºÀÇ µµ±¸/ÂüÁ¶¸¦ ½ÇÇàÇÕ´Ï´Ù.
- '»ç¿ë °¡´ÉÇÑ ÂüÁ¶'¿¡¼­ P2 Library°¡ ÀÖ´ÂÁö È®ÀÎ ÇÕ´Ï´Ù.
- P2 Library°¡ ÀÖ´Â °æ¿ì üũÇϰí È®ÀÎÀ» ´©¸¨´Ï´Ù.
- P2 Library°¡ ¾ø´Â °æ¿ì ÀÚ·á½Ç¿¡¼­ P2.tlb¸¦ ´Ù¿î¹Þ¾Æ ã¾Æº¸±â¸¦ ÅëÇÏ¿© ¼±ÅÃÇϰí È®ÀÎÀ» ´©¸¨´Ï´Ù.
- À̷μ­ GOM ŸÀÔ ¶óÀ̺귯¸®°¡ ÇÁ·ÎÁ§Æ®°¡ import µÇ¾ú½À´Ï´Ù.

ŸÀÔ ¶óÀ̺귯¸®¸¦ Ãß°¡ÇÑ ÈÄ Å¸ÀÔ ¶óÀ̺귯¸®ÀÇ ³»¿ëÀ» º¸½Ç ¼ö ÀÖ½À´Ï´Ù. View menuÀÇ Object Brower¸¦ »ç¿ëÇÏ¿© P2 ¶óÀ̺귯¸®¸¦ ¼±Åà ÇÏ½Ã¸é ´ÙÀ½°ú °°Àº È­¸éÀ» º¸½Ç ¼ö ÀÖ½À´Ï´Ù.

GOM ŸÀÔ ¶óÀ̺귯¸®ÀÇ ³»¿ë

VB, VBA¿¡¼­ÀÇ Early Binding °ú Late Binding
BindingÀº Ŭ¶óÀÌ¾ðÆ®°¡ ¸Þ¼Òµå³ª ¼Ó¼ºÀ» ³»ºÎÀûÀ¸·Î ¿äûÀ» ÇÏ´Â ¹æ¹ýÀÌ°í ¾Õ¼­ 'COM, Automation °³¿ä'¿¡¼­ ¸»ÇÑ ¹Ù¿Í °°ÀÌ Early Binding, Late Binding µÎ °¡Áö ¹æ½ÄÀÌ ÀÖ½À´Ï´Ù. VB, VBA¿¡¼­ Binding ¹æ½ÄÀº »ç¿ëÀÚÀÇ º¯¼ö¸¦ ¼±¾ðÇÏ´Â ¹æ¹ý¿¡ µû¶ó °áÁ¤ µË´Ï´Ù.

Early Binding ¹æ½ÄÀº Ŭ¶óÀÌ¾ðÆ®°¡ GOM ŸÀÔ ¶óÀ̺귯¸®¸¦ importÇϰí ŸÀÔ ¶óÀ̺귯¸®¿¡ ¼±¾ðµÈ ŸÀÔ´ë·Î º¯¼ö¸¦ ¼±¾ðÇÏ´Â ¹æ½ÄÀÌ°í ´ÙÀ½°ú °°½À´Ï´Ù.

Dim objSymbol As GxSymbol

ŸÀÔ ¶óÀ̺귯¸®ÀÇ Á¤º¸´Â ÄÄÆÄÀÏ ½Ã ÀÌ¿ë °¡´É Çϱ⠶§¹®¿¡ VB, VBA°¡ ¸Þ¼Òµå³ª ¼Ó¼ºÀ» ½ÇÇàÇϴµ¥ ºü¸¥ Á¢±Ù ½Ã°£À» Á¦°øÇÕ´Ï´Ù.

VB, VBA¿¡¼­ Late Binding Àº ŸÀÔ ¶óÀ̺귯¸®¸¦ importÇÏÁö ¾Ê°í Object ŸÀÔÀ¸·Î º¯¼ö¸¦ ¼±¾ð ÇÕ´Ï´Ù. Object ŸÀÔÀ¸·Î º¯¼ö¸¦ ¼±¾ð ÇÑ´Ù¸é VB, VBA´Â ÄÄÆÄÀϽÿ¡´Â ¼Ó¼ºÀ̳ª ¸Þ¼ÒµåÀÇ ÁÖ¼Ò¸¦ °áÁ¤ÇÏÁö ¾Ê½À´Ï´Ù. ÇÁ·Î±×·¥ ½ÇÇà½Ã ¼Ó¼ºÀ̳ª ¸Þ¼ÒµåÀÇ ½ÇÇàÀÌ ÇÊ¿äÇÒ ¶§ 'COM, Automation °³¿ä' ¿¡¼­ ¾ð±ÞÇÑ ¹Ù¿Í °°ÀÌ ³»ºÎÀûÀ¸·Î GetIDsOfNames¿Í Invoke ¸¦ »ç¿ëÇÏ¿© ÀÛ¾÷À» ¼öÇàÇϹǷΠ´À¸° Á¢±Ù ½Ã°£À» Á¦°øÇÕ´Ï´Ù. ´ÙÀ½Àº Late BindingÀÇ ÇÑ ¿¹ ÀÔ´Ï´Ù.

Dim objSymbol As Object

GOM ¿¡¼­´Â HTSÀÇ Æ¯¼º»ó ºü¸¥ Á¢±ÙÀ» À§ÇÏ¿© Early BindingÀ» »ç¿ëÇÏ´Â °ÍÀ» °­·ÂÈ÷ ±Ç°íÇÕ´Ï´Ù.
VB, VBA GOM ÇÁ·Î±×·¡¹Ö
GOM Ŭ¶óÀÌ¾ðÆ® Á¦ÀÛ ´ÙÀ½ ´Ü°è´Â ÃÖ»óÀ§ ObjectÀÇ ÀÎÅÍ ÆäÀ̽º¸¦ ¾ò´Â ÀÛ¾÷ ÀÔ´Ï´Ù. GetObject, CreateObject µÎ ÇÔ¼ö¿¡ PROGID¸¦ »ç¿ëÇÏ¿© ÃÖ»óÀ§ ObjectÀÇ ÀÎÅÍÆäÀ̽º¸¦ ¾ò½À´Ï´Ù. GetObject, CreateObject µÑ ´Ù Ŭ¶óÀÌ¾ðÆ® Ãø¿¡¼­ º¸¸é º° Â÷À̰¡ ¾øÀ¸¹Ç·Î µÑ Áß Çϳª¸¦ »ç¿ëÇÕ´Ï´Ù¸¸ ¸Þ¸ð¸® Àý¾àÀ» À§ÇØ GetObject¸¦ »ç¿ëÇϽñ⸦ Ãßõ ÇÕ´Ï´Ù. °¡Á®¿Â ÀÎÅÍ ÆäÀ̽º´Â ÇÁ·Î±×·¥ Á¾·á ½Ã ±îÁö À¯ÁöÇϱâ À§ÇØ ·ÎÄà º¯¼ö°¡ ¾Æ´Ñ Ŭ·¡½ºÀÇ ¸â¹ö³ª ±Û·Î¹ú¿¡ º¯¼ö¿¡ ÀúÀåÇØ¾ß ÇÕ´Ï´Ù. GOMÀº Tree ¸ð¾çÀÇ Object ±¸Á¶À̱⠶§¹®¿¡ ÀÌ·¸°Ô ¾òÀº ÃÖ»óÀ§ ÀÎÅÍÆäÀ̽º¸¦ ÅëÇØ GOMÀÇ ¸ðµç Object¿¡ ´ëÇÑ Á¢±ÙÀÌ °¡´ÉÇÕ´Ï´Ù.

VBA ¿¡¼­ Object¿¡ ´ëÇÑ À̺¥Æ®¸¦ ¹Þ´Â ¹æ¹ýÀº ¿©Å¸ ¾î´À Lauguage º¸´Ù °£´Ü ÇÕ´Ï´Ù. ¿ì¼± WithEvents Áö½Ã¾î¸¦ »ç¿ëÇÏ¿© Event Sink(Event¸¦ ¹Þ´Â Object)¸¦ ¼±¾ð ÇÕ´Ï´Ù. ±×¸®°í ÄÚµå ¿¡µðÅÍ¿¡ÀÇ »ó´Ü ¿ÞÂÊ¿¡ Object°¡ ¸®½ºÆ®°¡ µÇ´Â ÄÞº¸¹Ú½º¿¡¼­ ¹æ±Ý Àü ¼±¾ðÇÑ Event Sink Object¸¦ ¼±Åà ÇÕ´Ï´Ù. ¸¸¾à Event Sink ŸÀÔÀÌ Connectable Object(À̺¥Æ®¸¦ Áö¿øÇÏ´Â GOM Object) ŸÀÔÀ¸·Î ¼±¾ð µÇ¾ú´Ù¸é ÄÞº¸¹Ú½º ¿À¸¥ÂÊÀÇ ÇÁ·Î½ÃÀú ¼±Åà ÄÞº¸¹Ú½º¿¡ ¼±Åà °¡´ÉÇÑ À̺¥Æ® Çڵ鷯°¡ ³ª¿­ µË´Ï´Ù. À̺¥Æ® Çڵ鷯¸¦ ¼±ÅÃÇϸé ÀÚµ¿À¸·Î À̺¥Æ® Çڵ鷯°¡ ÄÚµå ¿¡µðÅÍ¿¡ ÀÛ¼ºÀÌ µÇ°í ÀÌ ¾È¿¡ ÀÚ½ÅÀÇ Äڵ带 ÀÛ¼ºÇÕ´Ï´Ù. ±×¸®°í »ç¿ëÀÚ°¡ »ý¼ºÇÑ Event Sink Object¿¡ À̺¥Æ®¸¦ ¹ß»ý ½ÃŰ´Â GOM Object¸¦ ÇÒ´çÇÕ´Ï´Ù.
VB, VBA GOM ÇÁ·Î±×·¡¹Ö½Ã À¯ÀÇÁ¡
¾Õ¼­ 'Ŭ¶óÀÌ¾ðÆ® À¯ÀÇ»çÇ×'¿¡¼­ ¾ð±Þ ÇßµíÀÌ Å¬¶óÀÌ¾ðÆ®¿¡¼­ÀÇ UI 󸮴 Áß¿ä ÇÕ´Ï´Ù. ExcelÀº È­¸é 󸮴 ¾î¶² Language·Î ±¸Çö ÇßÀ» ¶§º¸´Ù ºÎÇϰ¡ ¸¹ÀÌ µì´Ï´Ù. (GOM ¿¡ »ó°ü ¾øÀÌ ºü¸¥ ½Ã°£³»¿¡ ¼¿À» ¹Ù²ã°¡¸é¼­ »ö»óÀ» ¹Ù²ã°¡´Â °ÍÀ» ÇÁ·Î±×·¡¹ÖÀ» ÇÏ½Ã¸é ´À³¢½Ç ¼ö ÀÖ´Â Á¡ ÀÔ´Ï´Ù.) ƯÈ÷ ½Ã¼¼ ÂÊ ±¸Çö ½Ã ´Ù¸¥ À̺¥Æ® º¸´Ù ºóµµ ¼ö°¡ ¸¹À¸¹Ç·Î È­¸é 󸮸¦ ÃÖ¼ÒÈ­ÇØ¾ß ÇÕ´Ï´Ù.
¿¹Á¦ ÆÄÀÏ
°æ°í : ÀÌ ¿¹Á¦´Â GOM »ç¿ë¹ýÀ» ½±°Ô ÀÍÈ÷±â À§ÇØ Á¦°ø ÇÏ´Â °ÍÀ¸·Î, ÀÌ ¿¹Á¦¸¦ °Å·¡¿¡ ÀÌ¿ë ÇÏ´Â Áß ¿¡·¯³ª ´Ù¸¥ ÀÌÀ¯·Î ¹ß»ýÇÏ´Â ÇÇÇØ´Â ´ç»ç¿¡¼­ Ã¥ÀÓÀ» ÁöÁö ¾Ê½À´Ï´Ù.
2004. 05. 18 (ÁÖ)µ¨Å¸ ÀͽºÃ¼ÀÎÁö

VBA ¿¹Á¦
 
GxChartStore ¿¹Á¦ <Á¦ÀÛ ¹öÀü:1.21> : ´Ù¼öÀÇ Ã­Æ® µ¥ÀÌÅÍ ¼ö½Å
GxChartStore ¿¹Á¦ <Á¦ÀÛ ¹öÀü:1.22> : ´Ù¼öÀÇ Ã­Æ® µ¥ÀÌÅÍ ¼ö½Å ¿¹Á¦¿¡ °£´ÜÇÑ À̺¥Æ® ÇÊÅÍ ±â´É Ãß°¡
GxSymbol ¿¹Á¦ <Á¦ÀÛ ¹öÀü:1.1> : ÀÔ·Â Á¾¸ñÄÚµåÀÇ 5´Ü°è È£°¡, ÇöÀç°¡, ü°á Ç¥½Ã
Multi GxSymbol ¿¹Á¦ <Á¦ÀÛ ¹öÀü:1.0> : ¼±Åà ¿ù¹° ¿É¼ÇÁ¾¸ñÀÇ ÇöÀç°¡, ¹Ì°áÁ¦ Ç¥½Ã
Greeks ¿¹Á¦ <Á¦ÀÛ ¹öÀü:1.1> : ¼±Åà ¿ù¹° ¿É¼ÇÁ¾¸ñÀÇ ±×¸¯½º Ç¥½Ã
Account, Position ¿¹Á¦ <Á¦ÀÛ ¹öÀü:1.0>
GxOrders, GxFills, GxConfirms ¿¹Á¦ <Á¦ÀÛ ¹öÀü:1.0>
GxOrderHandler ¿¹Á¦ <Á¦ÀÛ ¹öÀü:1.0>
EventFilteringÀ» ÀÌ¿ëÇÑ GxSymbol ¿¹Á¦ <Á¦ÀÛ ¹öÀü:1.2> : VBA GxSymbol ¿¹Á¦¿¡ EventFiltering ±â´É Ãß°¡
Æò°¡¿¹Å¹±Ý ¿¹Á¦ <Á¦ÀÛ ¹öÀü:1.23>

VB ¿¹Á¦
 
GxOrderHandler, GxEmHandler ¿¹Á¦ <Á¦ÀÛ ¹öÀü:1.0>
GxSymbolÀ» ÀÌ¿ëÇÑ ATM ¿¹Á¦ <Á¦ÀÛ ¹öÀü:1.1>
GxChartData ¿¹Á¦ <Á¦ÀÛ ¹öÀü:1.1>
¿É¼Ç ´ÙÁ¾¸ñ ¿¹Á¦ <Á¦ÀÛ ¹öÀü:1.23>
Æ÷Áö¼Ç, ü°á, ¹Ìü°á ¿¹Á¦ <Á¦ÀÛ ¹öÀü:1.23>
ÀÚµ¿ Á¤Á¤ ÁÖ¹® <Á¦ÀÛ ¹öÀü:1.23>
½ºÅ¾, ¸®¹ÌÆ® ÁÖ¹® <Á¦ÀÛ ¹öÀü:1.23>
°£´ÜÇÑ °õ ¿¬°á ¿¹Á¦ <Á¦ÀÛ ¹öÀü:1.23>
°£´ÜÇÑ Á¾¸ñ ã±â ¿¹Á¦ <Á¦ÀÛ ¹öÀü:1.23>
°£´ÜÇÑ ÃÖ±Ù¼±¹°Á¶È¸ ¿¹Á¦<Á¦ÀÛ ¹öÀü:1.23>
°£´ÜÇÑ ÁÖ¹®¸ñ·Ï Á¶È¸ ¿¹Á¦ <Á¦ÀÛ ¹öÀü:1.23>
°£´ÜÇÑ °èÁ¸ñ·Ï Á¶È¸ ¿¹Á¦ <Á¦ÀÛ ¹öÀü:1.23>