ID:
PW:

     0 ºÐ
     12 ºÐ

¿£Áö´Ï¾î µ¹Á¾
  dolljong
ÇÁ·Î±×·¡¹Ö Tips
ÇÁ·Î±×·¡¹Ö¿¡ °üÇÑ TipÀ» °øÀ¯ÇÏ´Â °÷ÀÔ´Ï´Ù.


[VBA] º¯¼ö scope
À̼®Á¾  2020-09-09 09:12:20, Á¶È¸ : 672, Ãßõ : 180

VBA´Â Microsoft°¡ ¸¸µç ÇÁ·Î±×·¥Àº ¹°·Ð À©µµ¿ì¿¡¼­ µ¹¾Æ°¡´Â ¿©·¯ ÇÁ·Î±×·¥µé¿¡¼­ Áö¿øÇÏ´Â ÇÁ·Î±×·¡¹Ö Ç÷§ÆûÀÌ´Ù.
basicÀ̶ó´Â Á» ¿À·¡µÈ ¾ð¾î¸¦ ¾²°í ÀÖÁö¸¸ Excel, word, access µî MSÀÇ ¼ÒÇÁÆ®¿þ¾î¿Í AutoCAD¿Í °°Àº ÇÁ·Î±×·¥¿¡¼­µµ »ç¿ëÀÌ °¡´ÉÇÏ´Ù.

VBA Editor¸¦ ¶ç¿ì¸é °¢ ÇÁ·Î±×·¥ÀÇ ÆÄÀÏÀÌ ÀÖ°í ±× ÆÄÀÏ ¾È¿¡ ¼Ò½ºµå°¡ µé¾î°¡´Â ÇüÅ´٠Áï ExcelÀÇ °æ¿ì¿¡´Â ¿¢¼¿ÆÄÀÏ¿¡ °°ÀÌ ÀúÀåµÈ´Ù. AutoCADÀÇ °æ¿ì¿¡´Â dvb¶ó´Â º°µµÀÇ ÆÄÀÏ·Î ÀúÀåµÈ´Ù.

ExcelÀÌ°Ç AutoCAD°Å ¸ðµÎ moduleÀ» Ãß°¡ÇÏ´Ù·Ï µÇ¾îÀÖ´Ù. ¸ðµâÀº ÇÔ¼öµéÀÇ ¹­À½µé·Î º¸¸é µÈ´Ù. ÀÌ ¸ðµâÀ» importÇϰųª exportÇÒ ¼ö ÀÖ´Ù. ´Ù¸¥ ¾ð¾î¿¡¼­ ÇϳªÀÇ ¼Ò½ºÄڵ忡 ÇØ´çÇÏ´Â °ÍÀÌ´Ù.

¿¹¸¦ µé¾î ¸ðµâ Ãß°¡Çϱ⸦ ´­·¯¼­ module1À» Ãß°¡Çß´Ù¸é ¿©±â¿¡ aaa()¶ó´Â sub¿Í bbb()¶ó´Â sub¸¦ Á¤ÀÇÇÒ ¼ö ÀÖ´Ù.

±×·¸´Ù¸é module1¿¡ ÀÖ´Â ÇÔ¼ö¿¡¼­ modeul2¿¡ ÀÖ´Â ÇÔ¼ö¸¦ ºÒ·¯´Ù ¾µ ¼ö ÀÖÀ»±î? ´ç¿¬È÷ ÀÖ´Ù. ¿¹¸¦ µé¾î module2¿¡¼­ module1ÀÇ aaa()¸¦ ¾²°í ½Í´Ù¸é  call modul1.aaa()·Î ºÒ·¯¼­ ¾µ ¼ö ÀÖ´Ù.

±×·¸´Ù¸é º¯¼öµéÀº ¾î¶»°Ô µÉ±î? ÇÁ·Î±×·¥À» ¸¸µé´Ùº¸¸é °¢ ÇÔ¼öµé¿¡¼­ °øÅëÀ¸·Î »ç¿ëÇØ¾ßÇÒ º¯¼öµéÀÌ ÀÖ´Ù.

°á·ÐºÎÅÍ ¸»ÇÏÀÚ¸é
publicÀº ÇØ´ç ¸ðµâ¿¡¼­ »ç¿ëÀÌ °¡´ÉÇÏ´Ù
globalÀº ¸ðµç ¸ðµâ¿¡¼­ »ç¿ëÀÌ °¡´ÉÇÏ´Ù.

¾Æ·¡¿Í °°ÀÌ module1°ú module2¿¡ aaa, bbb,cccÇÔ¼ö¸¦ Á¤ÀÇÇØº¸ÀÚ.
module1ÀÇ bbb¿Í module2ÀÇ ccc´Â ³»¿ëÀº °°Àº ÇÔ¼öÀÌ´Ù.
ÇÏÁö¸¸ µÎ ÇÔ¼ö ½ÇÇà°á°ú´Â ´Ù¸£´Ù.

bbbÇÔ¼ö¸¦ ½ÇÇàÇÏ¸é °ªµéÀÌ ¸ðµÎ Ãâ·ÂµÇÀÚ¸¸
cccÇÔ¼ö¸¦ ½ÇÇàÇϸé dim°ú publicÀÇ °ªÀº Ãâ·ÂµÇÁö ¾Ê´Â´Ù.

µû¶ó¼­ module °£À» ³Ñ³ªµé¸é¼­ »ç¿ëÇÒ ¼ö ÀÖ´Â º¯¼ö´Â global·Î ¼±¾ÈÇÏ¸é µÈ´Ù.

------

module1
   +-- aaa()
   +-- bbb()

module2
   +-- ccc()

varible scope test code

<Module1>
Dim d As String
Public p As String
Global g As String

Sub aaa()
  a = "dim"
  p = "public"
  g = "global"
End Sub


Sub bbb()
  Call aaa
  MsgBox "dim: " & d & " Public: " & p & " Global : " & g
End Sub

<Module2>

Sub ccc()
  Call Module1.aaa
  MsgBox "dim: " & d & " Public: " & p & " Global : " & g
End Sub


  ÃßõÇÏ±â   ¸ñ·Ïº¸±â

Copyright 1999-2023 Zeroboard / skin by zero
±¸Á¶¼³°èÀÇ ¹Ì·¡¸¦ ÁغñÇÏ´Â ¸ðÀÓ [±¸Á¶¼³°è¹Ì·¡Æ÷·³]