{"id":11726,"date":"2022-09-29T14:15:02","date_gmt":"2022-09-29T05:15:02","guid":{"rendered":"https:\/\/prodskill.com\/?p=11726"},"modified":"2022-10-10T21:04:35","modified_gmt":"2022-10-10T12:04:35","slug":"da-macro-modeler-api","status":"publish","type":"post","link":"https:\/\/prodskill.com\/de\/da-macro-modeler-api\/","title":{"rendered":"DA#-Makro(6): DA#-Modellierer-API"},"content":{"rendered":"\n<p>\uc774\ubc88 \uae00\uc740 DA# Macro(\ub9e4\ud06c\ub85c)\uc5d0\uc11c \uc0ac\uc6a9\ud558\uace0 \uc788\ub294 DA# Modeler API Object Model\uacfc VBA \ucf54\ub4dc \uad6c\uc131, \uc18c\uc2a4\ucf54\ub4dc \uc608\uc2dc\ub97c \uc0b4\ud3b4\ubcf8\ub2e4.<\/p>\n\n\n\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_82_2 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">&lt;&lt;\ubaa9\ucc28&gt;&gt;<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/prodskill.com\/de\/da-macro-modeler-api\/#5_DA_Modeler_API\" >5. DA# Modeler API<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/prodskill.com\/de\/da-macro-modeler-api\/#51_DA_Modeler_API_Object_Model\" >5.1. DA# Modeler API Object Model<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/prodskill.com\/de\/da-macro-modeler-api\/#52_%EC%97%91%EC%85%80_VBA%EC%97%90%EC%84%9C_DA_Modeler_API_%EC%82%AC%EC%9A%A9\" >5.2. \uc5d1\uc140 VBA\uc5d0\uc11c DA# Modeler API \uc0ac\uc6a9<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/prodskill.com\/de\/da-macro-modeler-api\/#53_DA_Macro_VBA_%EC%BD%94%EB%93%9C_%EA%B5%AC%EC%84%B1\" >5.3. DA# Macro VBA \ucf54\ub4dc \uad6c\uc131<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/prodskill.com\/de\/da-macro-modeler-api\/#54_DA_API_%EC%A3%BC%EC%9A%94_%ED%81%B4%EB%9E%98%EC%8A%A4_%ED%99%9C%EC%9A%A9_%EC%86%8C%EC%8A%A4%EC%BD%94%EB%93%9C_%EC%98%88%EC%8B%9C\" >5.4. DA# API \uc8fc\uc694 \ud074\ub798\uc2a4 \ud65c\uc6a9 \uc18c\uc2a4\ucf54\ub4dc \uc608\uc2dc<\/a><ul class='ez-toc-list-level-4' ><li class='ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/prodskill.com\/de\/da-macro-modeler-api\/#541_%ED%8C%8C%EC%9D%BC%EB%A1%9C%EB%B6%80%ED%84%B0_%EB%AA%A8%EB%8D%B8_instance_%EC%83%9D%EC%84%B1\" >5.4.1. \ud30c\uc77c\ub85c\ubd80\ud130 \ubaa8\ub378 instance \uc0dd\uc131<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/prodskill.com\/de\/da-macro-modeler-api\/#542_%EB%AA%A8%EB%8D%B8_%ED%8C%8C%EC%9D%BC%EC%97%90%EC%84%9C_Entity_%EB%AA%A9%EB%A1%9D_%EC%96%BB%EA%B8%B0\" >5.4.2. \ubaa8\ub378 \ud30c\uc77c\uc5d0\uc11c Entity \ubaa9\ub85d \uc5bb\uae30<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/prodskill.com\/de\/da-macro-modeler-api\/#543_Entity%EC%97%90_%EA%B0%92_%EC%84%A4%EC%A0%95%ED%95%98%EA%B8%B0\" >5.4.3. Entity\uc5d0 \uac12 \uc124\uc815\ud558\uae30<\/a><\/li><\/ul><\/li><\/ul><\/li><\/ul><\/nav><\/div>\n<h2 class=\"wp-block-heading\" id=\"5._DA#_Modeler_API\"><span class=\"ez-toc-section\" id=\"5_DA_Modeler_API\"><\/span>5. DA# Modeler API<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"5.1._DA#_Modeler_API_Object_Model\"><span class=\"ez-toc-section\" id=\"51_DA_Modeler_API_Object_Model\"><\/span>5.1. DA# Modeler API Object Model<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>\uc774\uc804 \uae00(<a href=\"https:\/\/prodskill.com\/da-macro-overview\/\">DA# Macro(1): DA#, DA# API, DA# Macro(\ub9e4\ud06c\ub85c) \uac1c\uc694<\/a>)\uc5d0\uc11c DA# API Object Model\uc5d0 \ub300\ud574 \uc7a0\uae50 \uc18c\uac1c\ud588\uc5c8\ub2e4.<\/p>\n\n\n\n<p>DA# Modeler\uc5d0\uc11c \uc81c\uacf5\ud558\ub294 \ud074\ub798\uc2a4 \ubaa9\ub85d\uc740 \ub2e4\uc74c\uacfc \uac19\ub2e4. (\uc5d1\uc140 VBE(Visual Basic Editor)\uc5d0\uc11c &#8216;\uac1c\uccb4 \ucc3e\uc544\ubcf4\uae30&#8217; \uae30\ub2a5\uc73c\ub85c \ud655\uc778\ud558\uc600\ub2e4.)<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><a href=\"https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-237.png\"><img loading=\"lazy\" decoding=\"async\" width=\"574\" height=\"1024\" src=\"https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-237-574x1024.png\" alt=\"DA# Modeler\uc5d0\uc11c \uc81c\uacf5\ud558\ub294 \ud074\ub798\uc2a4 \ubaa9\ub85d\" class=\"wp-image-11727\" srcset=\"https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-237-574x1024.png 574w, https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-237-168x300.png 168w, https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-237-7x12.png 7w, https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-237-13x24.png 13w, https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-237-20x36.png 20w, https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-237-27x48.png 27w, https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-237.png 576w\" sizes=\"auto, (max-width: 574px) 100vw, 574px\" \/><\/a><figcaption>DA# Modeler\uc5d0\uc11c \uc81c\uacf5\ud558\ub294 \ud074\ub798\uc2a4 \ubaa9\ub85d<\/figcaption><\/figure>\n<\/div>\n\n\n<p>DA# Modeler API\uc758 Object Model\uc740 \ub2e4\uc74c\uacfc \uac19\ub2e4. (\uacf5\uc2dd \ub9e4\ub274\uc5bc\uc5d0\ub294 \uc5c6\ub294 \ub0b4\uc6a9\uc774\uace0, \uc9c1\uc811 \uc815\ub9ac\ud558\uc600\ub2e4.)<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><a href=\"https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-238.png\"><img loading=\"lazy\" decoding=\"async\" width=\"999\" height=\"587\" src=\"https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-238.png\" alt=\"DA# API Object Model\" class=\"wp-image-11728\" srcset=\"https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-238.png 999w, https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-238-300x176.png 300w, https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-238-768x451.png 768w, https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-238-18x12.png 18w, https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-238-24x14.png 24w, https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-238-36x21.png 36w, https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-238-48x28.png 48w\" sizes=\"auto, (max-width: 999px) 100vw, 999px\" \/><\/a><figcaption>DA# API Object Model<\/figcaption><\/figure>\n<\/div>\n\n\n<p>\uc774 \uc911\uc5d0\uc11c \uac00\uc7a5 \ud575\uc2ec\uc778 Application\uc5d0\uc11c Attribute\uae4c\uc9c0 Object \uacc4\uce35\uad6c\uc870\ub294 \ub2e4\uc74c\uacfc \uac19\ub2e4.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p>1)Application -&gt; 2)Models -&gt; 3)Model -&gt; 4)Entitys -&gt; 5)Entity -&gt; 6)Attributes -&gt; 7)Attribute<\/p><\/blockquote>\n\n\n\n<p>\uc774 \uacc4\uce35\uc744 DA# Modeler \uc608\uc2dc \ubaa8\ub378\ub85c \ud45c\uae30\ud558\uba74 \ub2e4\uc74c\uacfc \uac19\ub2e4.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><a href=\"https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-239.png\"><img loading=\"lazy\" decoding=\"async\" width=\"452\" height=\"585\" src=\"https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-239.png\" alt=\"DA# \ubaa8\ub378\ub7ec API \ud575\uc2ec Object\" class=\"wp-image-11729\" srcset=\"https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-239.png 452w, https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-239-232x300.png 232w, https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-239-9x12.png 9w, https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-239-19x24.png 19w, https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-239-28x36.png 28w, https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-239-37x48.png 37w\" sizes=\"auto, (max-width: 452px) 100vw, 452px\" \/><\/a><figcaption>DA# \ubaa8\ub378\ub7ec API \ud575\uc2ec Object<\/figcaption><\/figure>\n<\/div>\n\n\n<p>DA# Modeler API\uc758 Object Model \uacc4\uce35\uad6c\uc870\uc640 \uac1c\ub150, \uc6a9\ub3c4\ub97c \uac04\ub7b5\ud558\uac8c \uc694\uc57d\ud558\uba74 \ub2e4\uc74c\uacfc \uac19\ub2e4.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><a href=\"https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-240.png\"><img loading=\"lazy\" decoding=\"async\" width=\"958\" height=\"589\" src=\"https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-240.png\" alt=\"DA# Modeler API Object Model \uacc4\uce35 \uad6c\uc870\" class=\"wp-image-11730\" srcset=\"https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-240.png 958w, https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-240-300x184.png 300w, https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-240-768x472.png 768w, https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-240-18x12.png 18w, https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-240-24x15.png 24w, https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-240-36x22.png 36w, https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-240-48x30.png 48w\" sizes=\"auto, (max-width: 958px) 100vw, 958px\" \/><\/a><figcaption>DA# Modeler API Object Model \uacc4\uce35 \uad6c\uc870<\/figcaption><\/figure>\n<\/div>\n\n\n<h3 class=\"wp-block-heading\" id=\"5.2._\uc5d1\uc140_VBA\uc5d0\uc11c_DA#_Modeler_API_\uc0ac\uc6a9\"><span class=\"ez-toc-section\" id=\"52_%EC%97%91%EC%85%80_VBA%EC%97%90%EC%84%9C_DA_Modeler_API_%EC%82%AC%EC%9A%A9\"><\/span>5.2. \uc5d1\uc140 VBA\uc5d0\uc11c DA# Modeler API \uc0ac\uc6a9<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>DA# Modeler API\ub97c \uc5d1\uc140 VBA\uc5d0\uc11c&nbsp;<a href=\"https:\/\/prodskill.com\/ko\/excel-vba-lecture-6-variable\/#312_%EB%B3%80%EC%88%98_Early_binding_Late_binding\">Early binding<\/a>&nbsp;\ubc29\uc2dd\uc73c\ub85c \uc0ac\uc6a9\ud558\ub824\uba74 \uba3c\uc800 &#8220;Modeler5&#8221; library\ub97c \ucc38\uc870 \ucd94\uac00\ud574\uc918\uc57c \ud55c\ub2e4.<\/p>\n\n\n\n<p>\u25bc \uc5d1\uc140 VBE(Visual Basic Editor)\ub85c \uc804\ud658(\ub2e8\ucd95\ud0a4&nbsp;<strong>Alt<\/strong>&nbsp;+&nbsp;<strong>F11<\/strong>)\ud558\uc5ec \ub3c4\uad6c &gt; \ucc38\uc870 \uba54\ub274\ub97c \uc2e4\ud589\ud55c\ub2e4.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><a href=\"https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-241.png\"><img loading=\"lazy\" decoding=\"async\" width=\"184\" height=\"162\" src=\"https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-241.png\" alt=\"\ub3c4\uad6c &gt; \ucc38\uc870 \uba54\ub274 \uc2e4\ud589\" class=\"wp-image-11731\" srcset=\"https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-241.png 184w, https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-241-14x12.png 14w, https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-241-24x21.png 24w, https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-241-36x32.png 36w, https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-241-48x42.png 48w\" sizes=\"auto, (max-width: 184px) 100vw, 184px\" \/><\/a><figcaption>\ub3c4\uad6c &gt; \ucc38\uc870 \uba54\ub274 \uc2e4\ud589<\/figcaption><\/figure>\n<\/div>\n\n\n<p>\u25bc &#8220;\uc0ac\uc6a9 \uac00\ub2a5\ud55c \ucc38\uc870&#8221; \ubaa9\ub85d\uc5d0\uc11c &#8220;Modeler5&#8243;\ub97c \uccb4\ud06c\ud558\uc5ec \uc120\ud0dd\ud558\uace0 &#8220;\ud655\uc778&#8221;\ubc84\ud2bc\uc744 \ud074\ub9ad\ud55c\ub2e4.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><a href=\"https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-242.png\"><img loading=\"lazy\" decoding=\"async\" width=\"524\" height=\"338\" src=\"https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-242.png\" alt=\"Modeler5 \ucc38\uc870 \ucd94\uac00\" class=\"wp-image-11732\" srcset=\"https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-242.png 524w, https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-242-300x194.png 300w, https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-242-18x12.png 18w, https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-242-24x15.png 24w, https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-242-36x23.png 36w, https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-242-48x31.png 48w\" sizes=\"auto, (max-width: 524px) 100vw, 524px\" \/><\/a><figcaption>Modeler5 \ucc38\uc870 \ucd94\uac00<\/figcaption><\/figure>\n<\/div>\n\n\n<p>\uc774\uc81c \ub2e4\uc74c\uacfc \uac19\uc774 VBA \ucf54\ub4dc\ub97c \uc791\uc131\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"visualbasic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">'Modeler5 Application \uac1c\uccb4 \uc0dd\uc131\nDim odApp As Modeler5.Application\nSet odApp = New Modeler5.Application\n\n'\uc0c8 \ubaa8\ub378 \uac1c\uccb4 \uc0dd\uc131\nDim odModel As Modeler5.Model\nSet odModel = odApp.GetModelMustBe(\"\uc0c8\ubaa8\ub378\")\n\n'Entity \uc0dd\uc131\uacfc \uac12 \ud560\ub2f9\nDim odEntity As Modeler5.Entity\nSet odEntity = odModel.GetEntityMustBe(\"\uc5d4\ud130\ud2f01\")\nodEntity.TableName = \"Table1\"\n\n'Attribute \uc0dd\uc131\uacfc \uac12 \ud560\ub2f9\nDim odAttribute As Modeler5.Attribute\nSet odAttribute = odEntity.GetAttributeMustBe(\"\uc18d\uc1311\")\nodAttribute.ColName = \"Column1\"<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"5.3._DA#_Macro_VBA_\ucf54\ub4dc_\uad6c\uc131\"><span class=\"ez-toc-section\" id=\"53_DA_Macro_VBA_%EC%BD%94%EB%93%9C_%EA%B5%AC%EC%84%B1\"><\/span>5.3. DA# Macro VBA \ucf54\ub4dc \uad6c\uc131<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Worksheet, UserForm, Module, Class \ubaa9\ub85d\uacfc \uac04\ub7b5\ud55c \uc124\uba85\uc740 \ub2e4\uc74c\uacfc \uac19\ub2e4.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><a href=\"https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-243.png\"><img loading=\"lazy\" decoding=\"async\" width=\"969\" height=\"612\" src=\"https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-243.png\" alt=\"DA# Macro VBA \ucf54\ub4dc \uad6c\uc131\" class=\"wp-image-11733\" srcset=\"https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-243.png 969w, https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-243-300x189.png 300w, https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-243-768x485.png 768w, https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-243-18x12.png 18w, https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-243-24x15.png 24w, https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-243-36x23.png 36w, https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-243-48x30.png 48w\" sizes=\"auto, (max-width: 969px) 100vw, 969px\" \/><\/a><figcaption>DA# Macro VBA \ucf54\ub4dc \uad6c\uc131<\/figcaption><\/figure>\n<\/div>\n\n\n<p>\u25bc Worksheet \uac1c\uccb4<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>shtAttributeGet: &#8220;Attribute(Get)&#8221;&nbsp;\uc2dc\ud2b8&nbsp;UI&nbsp;\uae30\ub2a5&nbsp;\uad6c\ud604<\/li><li>shtAttributeSet: &#8220;Attribute(Set)&#8221;&nbsp;\uc2dc\ud2b8&nbsp;UI&nbsp;\uae30\ub2a5&nbsp;\uad6c\ud604<\/li><li>shtEntityGet: &#8220;Entity(Get)&#8221;&nbsp;\uc2dc\ud2b8&nbsp;UI&nbsp;\uae30\ub2a5&nbsp;\uad6c\ud604<\/li><li>shtEntitySet: &#8220;Entity(Set)&#8221;&nbsp;\uc2dc\ud2b8&nbsp;UI&nbsp;\uae30\ub2a5&nbsp;\uad6c\ud604<\/li><li>shtReverse: &#8220;Reverse&#8221;&nbsp;\uc2dc\ud2b8&nbsp;UI&nbsp;\uae30\ub2a5&nbsp;\uad6c\ud604<\/li><\/ul>\n\n\n\n<p>\u25bc \ud3fc \uac1c\uccb4<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>frmModelFromFile: &#8220;Select&nbsp;Model(File)&#8221;&nbsp;\ubc84\ud2bc\uc744&nbsp;\ud074\ub9ad\ud560&nbsp;\ub54c&nbsp;\ubcf4\uc5ec\uc9c0\ub294&nbsp;\uc0ac\uc6a9\uc790&nbsp;\ud3fc<\/li><li>frmProgress: \uae30\ub2a5 \ucc98\ub9ac \uc2dc \uc9c4\ud589\uc0c1\ud0dc(ProgressBar)\ub97c \ubcf4\uc5ec\uc8fc\uae30 \uc704\ud55c \uc0ac\uc6a9\uc790 \ud3fc<\/li><\/ul>\n\n\n\n<p>\u25bc \ubaa8\ub4c8 \uac1c\uccb4<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>modDAConstType: \uae30\ub2a5&nbsp;\uad6c\ud604\uc5d0&nbsp;\ud544\uc694\ud55c&nbsp;\uc0c1\uc218&nbsp;\uc120\uc5b8,&nbsp;DA#&nbsp;Enum\uacfc&nbsp;Name&nbsp;\ubcc0\ud658&nbsp;\ud568\uc218&nbsp;\uad6c\ud604<\/li><li>modDAModeler: DA# \uad00\ub828 \uae30\ub2a5 \uad6c\ud604(GetModel, Reverse, SetEntity, SetAttribute \ub4f1)<\/li><li>modTest: Test&nbsp;\ucf54\ub4dc<\/li><li>modUtil: \uacf5\ud1b5\uae30\ub2a5(DoLog,&nbsp;ClearList,&nbsp;GetElapsedTime&nbsp;\ub4f1)<\/li><li>modWinAPI: \ud604\uc7ac&nbsp;\uc0ac\uc6a9\ud558\uc9c0&nbsp;\uc54a\uc74c<\/li><\/ul>\n\n\n\n<p>\u25bc \ud074\ub798\uc2a4 \ubaa8\ub4c8 \uac1c\uccb4<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>CDAAttribute: \uc18d\uc131&nbsp;1\uac1c&nbsp;\ub2e8\uc704\uc758&nbsp;\ud074\ub798\uc2a4<\/li><li>CDAAttributeList: \uc18d\uc131&nbsp;\ubaa9\ub85d\uc744&nbsp;Dictionary&nbsp;\uad6c\uc870(Key-Value)\ub85c&nbsp;\uad00\ub9ac\ud558\ub294&nbsp;\ud074\ub798\uc2a4<ul><li>Key: ModelName:KeyName (KeyName\uc740 \uc5d4\ud130\ud2f0\uba85.\uc18d\uc131\uba85 \ub610\ub294 \ud14c\uc774\ube14\uba85.\uceec\ub7fc\uba85 \ud615\uc2dd)<\/li><li>Value:&nbsp;CDAAttribute&nbsp;instance<\/li><\/ul><\/li><li>CDAEntity: \uc5d4\ud130\ud2f0&nbsp;1\uac1c&nbsp;\ub2e8\uc704\uc758&nbsp;\ud074\ub798\uc2a4<\/li><li>CDAEntityList: \uc5d4\ud130\ud2f0&nbsp;\ubaa9\ub85d\uc744&nbsp;Dictionary&nbsp;\uad6c\uc870(Key-Value)\ub85c&nbsp;\uad00\ub9ac\ud558\ub294&nbsp;\ud074\ub798\uc2a4<ul><li>Key: ModelName:KeyName (KeyName\uc740 \uc5d4\ud130\ud2f0\uba85 \ub610\ub294 \ud14c\uc774\ube14\uba85)<\/li><li>Value:&nbsp;CDAEntity&nbsp;instance<\/li><\/ul><\/li><li>CDAFK: FK&nbsp;1\uac1c&nbsp;\ub2e8\uc704\uc758&nbsp;\ud074\ub798\uc2a4<\/li><li>CDAFKList: FK&nbsp;\ubaa9\ub85d\uc744&nbsp;Dictionary&nbsp;\uad6c\uc870(Key-Value)\ub85c&nbsp;\uad00\ub9ac\ud558\ub294&nbsp;\ud074\ub798\uc2a4<ul><li>Key: ModelName:\ubd80\ubaa8\uc5d4\ud130\ud2f0\uba85-&gt;\uc790\uc2dd\uc5d4\ud130\ud2f0\uba85<\/li><li>Value:&nbsp;CDAFK&nbsp;instance<\/li><\/ul><\/li><li>CDAModel: Model&nbsp;1\uac1c&nbsp;\ub2e8\uc704\uc758&nbsp;\ud074\ub798\uc2a4<\/li><li>CDAModelList: Model&nbsp;\ubaa9\ub85d\uc744&nbsp;Dictionary&nbsp;\uad6c\uc870(Key-Value)\ub85c&nbsp;\uad00\ub9ac\ud558\ub294&nbsp;\ud074\ub798\uc2a4<ul><li>Key: ModelName<\/li><li>Value:&nbsp;CDAModel&nbsp;instance<\/li><\/ul><\/li><li>CDASubject: \uc8fc\uc81c\uc601\uc5ed&nbsp;1\uac1c&nbsp;\ub2e8\uc704\uc758&nbsp;\ud074\ub798\uc2a4<\/li><li>CDASubjectList: \uc8fc\uc81c\uc601\uc5ed&nbsp;\ubaa9\ub85d\uc744&nbsp;Dictionary&nbsp;\uad6c\uc870(Key-Value)\ub85c&nbsp;\uad00\ub9ac\ud558\ub294&nbsp;\ud074\ub798\uc2a4<ul><li>Key: ModelName:SubjectName<\/li><li>Value:&nbsp;CDASubject&nbsp;instance<\/li><\/ul><\/li><li>CUDPNameType: UDP\uba85,&nbsp;\ub300\uc0c1 \uc5ec\ubd80\ub97c&nbsp;\uad00\ub9ac\ud558\ub294&nbsp;\ud074\ub798\uc2a4&nbsp;(UDP&nbsp;Get\/Set\uc5d0&nbsp;\uc0ac\uc6a9)<\/li><\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"5.4._DA#_API_\uc8fc\uc694_\ud074\ub798\uc2a4_\ud65c\uc6a9_\uc18c\uc2a4\ucf54\ub4dc_\uc608\uc2dc\"><span class=\"ez-toc-section\" id=\"54_DA_API_%EC%A3%BC%EC%9A%94_%ED%81%B4%EB%9E%98%EC%8A%A4_%ED%99%9C%EC%9A%A9_%EC%86%8C%EC%8A%A4%EC%BD%94%EB%93%9C_%EC%98%88%EC%8B%9C\"><\/span>5.4. DA# API \uc8fc\uc694 \ud074\ub798\uc2a4 \ud65c\uc6a9 \uc18c\uc2a4\ucf54\ub4dc \uc608\uc2dc<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"5.4.1._\ud30c\uc77c\ub85c\ubd80\ud130_\ubaa8\ub378_instance_\uc0dd\uc131\"><span class=\"ez-toc-section\" id=\"541_%ED%8C%8C%EC%9D%BC%EB%A1%9C%EB%B6%80%ED%84%B0_%EB%AA%A8%EB%8D%B8_instance_%EC%83%9D%EC%84%B1\"><\/span>5.4.1. \ud30c\uc77c\ub85c\ubd80\ud130 \ubaa8\ub378 instance \uc0dd\uc131<span class=\"ez-toc-section-end\"><\/span><\/h4>\n\n\n\n<p>\ubaa8\ub4c8 &#8220;modDAModeler&#8221;\uc5d0 \ud568\uc218 &#8220;GetModel&#8221;\ub85c \uad6c\ud604\ud558\uc600\ub2e4.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"visualbasic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">'\ubaa8\ub378\uba85\uacfc \ud30c\uc77c\uba85(\uacbd\ub85c\ud3ec\ud568)\uc73c\ub85c Model Instance \ubc18\ud658\nPublic Function GetModel(ByRef adApp As Modeler5.Application, aModelName As String, aModelFileName As String) As Modeler5.Model\n    Dim odModel As Modeler5.Model\n    If adApp Is Nothing Then Set adApp = New Modeler5.Application\n\n    Set odModel = adApp.GetModel(aModelName) '\uc5f4\ub824 \uc788\ub294 \ubaa8\ub378\uc5d0\uc11c ModelName\uc73c\ub85c \ube44\uad50\n    If (odModel Is Nothing) And (Trim(aModelFileName) &lt;> \"\") Then\n        Set odModel = GetModelAlreadyOpened(adApp, aModelName, aModelFileName) '\uc5f4\ub824 \uc788\ub294 \ubaa8\ub378\uc5d0\uc11c FilePath\ub85c \ube44\uad50\n        If odModel Is Nothing Then '\ubaa8\ub378\uc774 \uc5f4\ub824 \uc788\uc9c0 \uc54a\uc740 \uacbd\uc6b0\n            adApp.OpenFile (aModelFileName)\n            Set odModel = adApp.GetActiveModel\n        End If\n    End If\n    adApp.SetActiveModel odModel\n    Set GetModel = odModel\n    If odModel Is Nothing Then\n        '\uc5f4\ub824 \uc788\ub294 \ubaa8\ub378\uc5d0\ub3c4 \uc5c6\uace0 \ud30c\uc77c\uba85\ub3c4 \ube44\uc5b4\uc788\ub294 \uacbd\uc6b0\n        MsgBox \"GetModel Error\" &amp; vbLf &amp; _\n                \"ModelName: \" &amp; aModelName &amp; vbLf &amp; _\n                \"ModelFileName: \" &amp; aModelFileName, vbOKOnly &amp; vbExclamation, \"GetModel Error\"\n    End If\nEnd Function<\/pre>\n\n\n\n<p>GetModel \ud568\uc218\ub97c \ud638\ucd9c\ud558\uae30 \uc804\uc5d0 \ub2e4\uc74c\uacfc \uac19\uc774 Modeler5.Application instance\ub97c \uba3c\uc800 \uc0dd\uc131\ud558\uace0 parameter\ub85c \uc804\ub2ec\ud55c\ub2e4.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"visualbasic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">Set m_odApp = New Modeler5.Application\nSet odModel = GetModel(m_odApp, aFileNameOnly, aFileName)<\/pre>\n\n\n\n<p>Modeler5.Application instance\ub97c \uc804\ub2ec\ud558\uc9c0 \uc54a\ub294 \uacbd\uc6b0\ub294 \ud568\uc218 \ub0b4\ubd80\uc5d0\uc11c instance\ub97c \uc0dd\uc131\ud55c\ub2e4.(4\ud589)<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"5.4.2._\ubaa8\ub378_\ud30c\uc77c\uc5d0\uc11c_Entity_\ubaa9\ub85d_\uc5bb\uae30\"><span class=\"ez-toc-section\" id=\"542_%EB%AA%A8%EB%8D%B8_%ED%8C%8C%EC%9D%BC%EC%97%90%EC%84%9C_Entity_%EB%AA%A9%EB%A1%9D_%EC%96%BB%EA%B8%B0\"><\/span>5.4.2. \ubaa8\ub378 \ud30c\uc77c\uc5d0\uc11c Entity \ubaa9\ub85d \uc5bb\uae30<span class=\"ez-toc-section-end\"><\/span><\/h4>\n\n\n\n<p>&#8220;Entity(Get)&#8221; \uc2dc\ud2b8\uc758 \ud568\uc218 &#8220;GetEntityListFromFile&#8221;\ub85c \uad6c\ud604\ud558\uc600\ub2e4.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"visualbasic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"88-91\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">Public Sub GetEntityListFromFile(aFileNameOnly As String, aFileName As String, baGetYN() As Boolean, _\n    aUDPNameCol As Collection, aIsSaveNClose As Boolean)\n\n    Dim odModel As Modeler5.Model\n    Dim odSubjects As Modeler5.Subjects, odSubject As Modeler5.Subject\n    Dim odLogicalPane As Modeler5.Pane, odEntitys As Modeler5.Entitys, odEntity As Modeler5.Entity\n    Dim sModelName As String, oBaseRange As Range, oOutRange As Range, oUDPOutRange As Range\n    Dim vOutRngArr As Variant, vUDPRngArr As Variant\n\n    Set odModel = GetModel(m_odApp, aFileNameOnly, aFileName)\n    sModelName = odModel.Name\n    If odModel Is Nothing Then\n        MsgBox \"DA# \ubaa8\ub378\uc774 \uc5c6\uc2b5\ub2c8\ub2e4.\" &amp; vbLf &amp; \"&lt;\ubaa8\ub378\uba85: \" &amp; sModelName &amp; \">\", vbCritical\n        GoTo Finalize_Section\n    End If\n    odModel.ActiveAction (False) 'Undo\/Redo \ud574\uc81c\n\n    Set oBaseRange = Range(\"EntityListBase\").Offset(1, 0): Set oOutRange = oBaseRange.Offset(m_lRowOffset, 0)\n    Set oUDPOutRange = Range(\"EntityUDPNameBase\").Offset(1, 0): Set oUDPOutRange = oUDPOutRange.Offset(m_lRowOffset, 0)\n\n    Set odEntitys = odModel.Entitys\n    Dim lEntIdx As Long\n    ReDim vOutRngArr(1 To odEntitys.Count, DA_GETENT_ItemCount)\n    ReDim vUDPRngArr(1 To odEntitys.Count, DA_GETENT_ItemCount)\n    For lEntIdx = 1 To odEntitys.Count\n        Set odEntity = odEntitys.Item(lEntIdx - 1)\n        Dim arrayEnt() As Variant\n        arrayEnt = odEntity.Values '\uc5d4\ud130\ud2f0 Property\ub97c Variant Array\ub85c \ud55c\ubc88\uc5d0 \ubc1b\uc544\uc624\uae30\n        vOutRngArr(lEntIdx, DA_GETENT_Sequence_IDX) = lEntIdx\n        vOutRngArr(lEntIdx, DA_GETENT_ModelName_IDX) = sModelName\n        vOutRngArr(lEntIdx, DA_GETENT_EntityName_IDX) = odEntity.Name\n'- \uc5d4\ud130\ud2f0 Property \uc9c1\uc811 \uc811\uadfc \ubc29\uc2dd -----------------------------------------------------------------------------------------------------------------------------------------\n        If baGetYN(DA_GETENT_EntityTableName_IDX) = True Then vOutRngArr(lEntIdx, DA_GETENT_EntityTableName_IDX) = odEntity.TableName\n        If baGetYN(DA_GETENT_EntitySynonym_IDX) = True Then vOutRngArr(lEntIdx, DA_GETENT_EntitySynonym_IDX) = odEntity.Synonym\n        If baGetYN(DA_GETENT_EntityAltName_IDX) = True Then vOutRngArr(lEntIdx, DA_GETENT_EntityAltName_IDX) = odEntity.AltName\n        If baGetYN(DA_GETENT_EntityDBOwner_IDX) = True Then vOutRngArr(lEntIdx, DA_GETENT_EntityDBOwner_IDX) = odEntity.DBOwner\n        If baGetYN(DA_GETENT_EntityCategory_IDX) = True Then vOutRngArr(lEntIdx, DA_GETENT_EntityCategory_IDX) = GetEntityCategoryName(odEntity.Category)\n        If baGetYN(DA_GETENT_EntityLevel_IDX) = True Then vOutRngArr(lEntIdx, DA_GETENT_EntityLevel_IDX) = odEntity.Level\n        If baGetYN(DA_GETENT_EntityRank_IDX) = True Then vOutRngArr(lEntIdx, DA_GETENT_EntityRank_IDX) = GetEntityRankName(odEntity.Rank)\n        If baGetYN(DA_GETENT_EntityVirtual_IDX) = True Then vOutRngArr(lEntIdx, DA_GETENT_EntityVirtual_IDX) = GetEntityTypeName(odEntity.Virtual)\n        If baGetYN(DA_GETENT_EntityStandardType_IDX) = True Then vOutRngArr(lEntIdx, DA_GETENT_EntityStandardType_IDX) = GetStandardTypeName(odEntity.StandardType)\n        If baGetYN(DA_GETENT_EntityStatus_IDX) = True Then vOutRngArr(lEntIdx, DA_GETENT_EntityStatus_IDX) = odEntity.Status\n        If baGetYN(DA_GETENT_EntityPeriod_IDX) = True Then vOutRngArr(lEntIdx, DA_GETENT_EntityPeriod_IDX) = odEntity.Period\n        If baGetYN(DA_GETENT_EntityMonthly_IDX) = True Then vOutRngArr(lEntIdx, DA_GETENT_EntityMonthly_IDX) = odEntity.Monthly\n        If baGetYN(DA_GETENT_EntityManage_IDX) = True Then vOutRngArr(lEntIdx, DA_GETENT_EntityManage_IDX) = odEntity.Manage\n        If baGetYN(DA_GETENT_EntityTotal_IDX) = True Then vOutRngArr(lEntIdx, DA_GETENT_EntityTotal_IDX) = odEntity.Total\n        If baGetYN(DA_GETENT_EntityDesc_IDX) = True Then vOutRngArr(lEntIdx, DA_GETENT_EntityDesc_IDX) = Replace(odEntity.Desc, vbCrLf, vbLf) '\uc815\uc758\n        If baGetYN(DA_GETENT_EntityFlow_IDX) = True Then vOutRngArr(lEntIdx, DA_GETENT_EntityFlow_IDX) = Replace(odEntity.Flow, vbCrLf, vbLf) '\ub370\uc774\ud130 \ucc98\ub9ac \ud615\ud0dc\n        If baGetYN(DA_GETENT_EntityRemark_IDX) = True Then vOutRngArr(lEntIdx, DA_GETENT_EntityRemark_IDX) = Replace(odEntity.Remark, vbCrLf, vbLf) '\ud2b9\uc774\uc0ac\ud56d\n        If baGetYN(DA_GETENT_EntityNote_IDX) = True Then vOutRngArr(lEntIdx, DA_GETENT_EntityNote_IDX) = Replace(odEntity.Note, vbCrLf, vbLf) '\ub178\ud2b8\n        If baGetYN(DA_GETENT_EntityTag_IDX) = True Then vOutRngArr(lEntIdx, DA_GETENT_EntityTag_IDX) = odEntity.TagName\n\n'- \uc5d4\ud130\ud2f0 Property Array \uc811\uadfc \ubc29\uc2dd -----------------------------------------------------------------------------------------------------------------------------------------\n'        If baGetYN(DA_GETENT_EntityTableName_IDX) = True Then vOutRngArr(lEntIdx, DA_GETENT_EntityTableName_IDX) = arrayEnt(Modeler5.ENT_TABLENAME)\n'        If baGetYN(DA_GETENT_EntitySynonym_IDX) = True Then vOutRngArr(lEntIdx, DA_GETENT_EntitySynonym_IDX) = arrayEnt(Modeler5.ENT_SYNONYM)\n'        If baGetYN(DA_GETENT_EntityAltName_IDX) = True Then vOutRngArr(lEntIdx, DA_GETENT_EntityAltName_IDX) = arrayEnt(Modeler5.ENT_ALTNAME)\n'        If baGetYN(DA_GETENT_EntityDBOwner_IDX) = True Then vOutRngArr(lEntIdx, DA_GETENT_EntityDBOwner_IDX) = arrayEnt(Modeler5.ENT_DBOWNER)\n'        If baGetYN(DA_GETENT_EntityCategory_IDX) = True Then vOutRngArr(lEntIdx, DA_GETENT_EntityCategory_IDX) = GetEntityCategoryName(arrayEnt(Modeler5.ENT_CATEGORY))\n'        If baGetYN(DA_GETENT_EntityLevel_IDX) = True Then vOutRngArr(lEntIdx, DA_GETENT_EntityLevel_IDX) = arrayEnt(Modeler5.ENT_LEVEL)\n'        If baGetYN(DA_GETENT_EntityRank_IDX) = True Then vOutRngArr(lEntIdx, DA_GETENT_EntityRank_IDX) = GetEntityRankName(arrayEnt(Modeler5.ENT_RANK))\n'        If baGetYN(DA_GETENT_EntityVirtual_IDX) = True Then vOutRngArr(lEntIdx, DA_GETENT_EntityVirtual_IDX) = GetEntityTypeName(arrayEnt(Modeler5.ENT_VIRTUAL))\n'        If baGetYN(DA_GETENT_EntityStandardType_IDX) = True Then vOutRngArr(lEntIdx, DA_GETENT_EntityStandardType_IDX) = GetStandardTypeName(arrayEnt(Modeler5.ENT_STANDARDTYPE))\n'        If baGetYN(DA_GETENT_EntityStatus_IDX) = True Then vOutRngArr(lEntIdx, DA_GETENT_EntityStatus_IDX) = arrayEnt(Modeler5.ENT_STATUS)\n'        If baGetYN(DA_GETENT_EntityPeriod_IDX) = True Then vOutRngArr(lEntIdx, DA_GETENT_EntityPeriod_IDX) = arrayEnt(Modeler5.ENT_PERIOD)\n'        If baGetYN(DA_GETENT_EntityMonthly_IDX) = True Then vOutRngArr(lEntIdx, DA_GETENT_EntityMonthly_IDX) = arrayEnt(Modeler5.ENT_MONTHLY)\n'        If baGetYN(DA_GETENT_EntityManage_IDX) = True Then vOutRngArr(lEntIdx, DA_GETENT_EntityManage_IDX) = arrayEnt(Modeler5.ENT_MANAGE)\n'        If baGetYN(DA_GETENT_EntityTotal_IDX) = True Then vOutRngArr(lEntIdx, DA_GETENT_EntityTotal_IDX) = arrayEnt(Modeler5.ENT_TOTAL)\n'        If baGetYN(DA_GETENT_EntityDesc_IDX) = True Then vOutRngArr(lEntIdx, DA_GETENT_EntityDesc_IDX) = Replace(arrayEnt(Modeler5.ENT_DESC), vbCrLf, vbLf) '\uc815\uc758\n'        If baGetYN(DA_GETENT_EntityFlow_IDX) = True Then vOutRngArr(lEntIdx, DA_GETENT_EntityFlow_IDX) = Replace(arrayEnt(Modeler5.ENT_FLOW), vbCrLf, vbLf) '\ub370\uc774\ud130 \ucc98\ub9ac \ud615\ud0dc\n'        If baGetYN(DA_GETENT_EntityRemark_IDX) = True Then vOutRngArr(lEntIdx, DA_GETENT_EntityRemark_IDX) = Replace(arrayEnt(Modeler5.ENT_REMARK), vbCrLf, vbLf) '\ud2b9\uc774\uc0ac\ud56d\n'        If baGetYN(DA_GETENT_EntityNote_IDX) = True Then vOutRngArr(lEntIdx, DA_GETENT_EntityNote_IDX) = Replace(arrayEnt(Modeler5.ENT_NOTE), vbCrLf, vbLf) '\ub178\ud2b8\n'        If baGetYN(DA_GETENT_EntityTag_IDX) = True Then vOutRngArr(lEntIdx, DA_GETENT_EntityTag_IDX) = arrayEnt(Modeler5.ENT_TAGNAME)\n        If Not aUDPNameCol Is Nothing Then 'Get UDP Value\n            Dim oUDPNamePType As CUDPNameType, lUDPNameIdx As Long\n            For lUDPNameIdx = 1 To aUDPNameCol.Count\n                Set oUDPNamePType = aUDPNameCol(lUDPNameIdx)\n                If oUDPNamePType.m_bUDPTargetYN = False Then GoTo SkipUDP\n                vUDPRngArr(lEntIdx, lUDPNameIdx - 1) = odEntity.GetUDPValue(oUDPNamePType.m_sUDPName)\nSkipUDP:\n            Next lUDPNameIdx\n        End If\n'----------------------------------------------------------------------------------------------------\n\n        m_lRowOffset = m_lRowOffset + 1\n    Next lEntIdx\n\n'----------------------------------------------------------------------------------------------------\n    Set oOutRange = oOutRange.Resize(UBound(vOutRngArr, 1), UBound(vOutRngArr, 2))\n    Set oUDPOutRange = oUDPOutRange.Resize(UBound(vOutRngArr, 1), UBound(vOutRngArr, 2))\n    oOutRange.Value2 = vOutRngArr\n    oUDPOutRange.Value2 = vUDPRngArr\n'----------------------------------------------------------------------------------------------------\n\nFinalize_Section:\n    odModel.ActiveAction (True) 'Undo\/Redo \ud65c\uc131\ud654\n    If aIsSaveNClose Then\n        'odApp.SaveActiveModelFile 'Get\uc740 Save \ud558\uc9c0 \uc54a\ub3c4\ub85d \uc8fc\uc11d\ucc98\ub9ac\n        m_odApp.CloseActiveModelFile\n    End If\n\n    Set odModel = Nothing\n    Set odSubjects = Nothing\n    Set odSubject = Nothing\n    Set odEntity = Nothing\nEnd Sub<\/pre>\n\n\n\n<p>\uc5d4\ud130\ud2f0 Property \uc9c1\uc811 \uc811\uadfc \ubc29\uc2dd\ubcf4\ub2e4 Property Array \uc811\uadfc \ubc29\uc2dd\uc774 \uc131\ub2a5\uc774 \uc88b\uc73c\ub098, \uc774 \uae00\uc744 \uc791\uc131\ud558\ub294 \uc2dc\uc810\uc5d0 Array\ub85c \uc811\uadfc\ud560 \ub54c \uac12\uc744 \uc81c\ub300\ub85c \uac00\uc838\uc624\uc9c0 \ubabb\ud558\ub294 \ud604\uc0c1\uc774 \uc788\uc5b4\uc11c \uc9c1\uc811 \uc811\uadfc \ubc29\uc2dd\uc73c\ub85c \ub418\ub3cc\ub824 \ub450\uc5c8\ub2e4.<\/p>\n\n\n\n<p>88 ~ 91\ud589\uc740 Variant Array\ub97c \uc774\uc6a9\ud558\uc5ec memory\uc0c1\uc758 2\ucc28\uc6d0 \ubc30\uc5f4\uc744 \uc5d1\uc140 \uc2dc\ud2b8\ub85c \ud55c \ubc88\uc5d0 \uc4f4\ub2e4. \uc774\uc5d0 \ub300\ud55c \uc124\uba85\uc740 \ub2e4\uc74c \uae00\uc744 \ucc38\uace0\ud55c\ub2e4.<\/p>\n\n\n\n<p><a href=\"https:\/\/prodskill.com\/excel-vba-coding-pattern-range-loop-write\/\">VBA \ucf54\ub529 \ud328\ud134: Range Loop-\uc4f0\uae30(Write)<\/a><\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"5.4.3._Entity\uc5d0_\uac12_\uc124\uc815\ud558\uae30\"><span class=\"ez-toc-section\" id=\"543_Entity%EC%97%90_%EA%B0%92_%EC%84%A4%EC%A0%95%ED%95%98%EA%B8%B0\"><\/span><br>5.4.3. Entity\uc5d0 \uac12 \uc124\uc815\ud558\uae30<span class=\"ez-toc-section-end\"><\/span><\/h4>\n\n\n\n<p>\ud074\ub798\uc2a4 &#8220;CDAEntityList&#8221;\uc758 \ud504\ub85c\uc2dc\uc800 &#8220;SetValue&#8221;\ub85c \uad6c\ud604\ud558\uc600\ub2e4.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"visualbasic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"10,21,25,83,112\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">Public Sub SetValue(aTargetModelList As CDAModelList, aIsAppendMode As Boolean, _\n    baSetYN() As Boolean, aIsSaveNClose As Boolean)\n\nOn Error GoTo ErrHandling\n    Dim odApp As Modeler5.Application, odModel As Modeler5.Model\n    Dim odEntitys As Modeler5.Entitys, odEntity As Modeler5.Entity\n    Set odApp = New Modeler5.Application\n\n    Dim startTime As Date, endTime As Date, sElapedTime As String\n    DoLog (\"Entity(Set) Started...\")\n    startTime = Now\n\n    frmProgress.Hide: frmProgress.InitProgress: frmProgress.Show\n    Application.ScreenUpdating = False\n    Dim lTargetDAModelIndex As Long, oTargetDAModel As CDAModel\n    Dim lEntIndex As Long, sKey As String, oDAEntity As CDAEntity, lSetCount As Long, sProgressMsg As String\n    lSetCount = 0\n    For lTargetDAModelIndex = 0 To aTargetModelList.Count - 1 'Model Level Loop\n        Set oTargetDAModel = aTargetModelList.GetItemByIndex(lTargetDAModelIndex)\n        Set odModel = GetModel(odApp, oTargetDAModel.m_s\ubaa8\ub378\uba85, oTargetDAModel.m_s\ubaa8\ub378\ud30c\uc77c\uba85)\n        odModel.ActiveAction (False) 'Undo\/Redo \ud574\uc81c\n        frmProgress.UpdateProgressBar aTargetModelList.Count, lTargetDAModelIndex + 1, oTargetDAModel.m_s\ubaa8\ub378\uba85, True\n        sProgressMsg = \"[\" + CStr(lTargetDAModelIndex + 1) + \"\/\" + CStr(aTargetModelList.Count) + \"] \" + oTargetDAModel.m_s\ubaa8\ub378\uba85\n        DoDisplayStatusMsg sProgressMsg\n        DoLog sProgressMsg + \" (\" + oTargetDAModel.m_s\ubaa8\ub378\ud30c\uc77c\uba85 + \")\"\n        If frmProgress.IsCanceled Then GoTo Finalize_Section\n        Set odEntitys = odModel.Entitys\n        For lEntIndex = 0 To odEntitys.Count - 1 'Entity Level Loop\n            Set odEntity = odEntitys.Item(lEntIndex)\n            If m_eDACompareType = DACompareLogicalName Then\n                sKey = odModel.Name + \":\" + odEntity.Name\n            ElseIf m_eDACompareType = DAComparePysicalName Then\n                sKey = odModel.Name + \":\" + odEntity.TableName\n            End If\n            Set oDAEntity = GetItem(sKey)\n            If oDAEntity Is Nothing Then GoTo Skip_Set '\ubcc0\uacbd\ud560 \ub300\uc0c1\uc774 \uc544\ub2c8\uba74 skip\n\n            lSetCount = lSetCount + 1 'Set \uac1c\uc218 \uc99d\uac00\n'- \uc5d4\ud130\ud2f0 Property \uc9c1\uc811 \uc811\uadfc \ubc29\uc2dd -----------------------------------------------------------------------------------------------------------------------------------------\n'            If baSetYN(DA_SETENT_EntityName_IDX) = True Then odEntity.Name = oDAEntity.m_s\uc5d4\ud130\ud2f0\uba85\n'            If baSetYN(DA_SETENT_EntityTableName_IDX) = True Then odEntity.TableName = oDAEntity.m_s\ud14c\uc774\ube14\uba85\n'            If baSetYN(DA_SETENT_EntitySynonym_IDX) = True Then odEntity.Synonym = oDAEntity.m_s\ub3d9\uc758\uc5b4\n'            If baSetYN(DA_SETENT_EntityAltName_IDX) = True Then odEntity.AltName = oDAEntity.m_s\ubcf4\uc870\uba85\n'            If baSetYN(DA_SETENT_EntityDBOwner_IDX) = True Then odEntity.DBOwner = oDAEntity.m_sDBOwner\n'            If baSetYN(DA_SETENT_EntityCategory_IDX) = True Then odEntity.Category = GetEntityCategoryEnum(oDAEntity.m_s\ubd84\ub958)\n'            If baSetYN(DA_SETENT_EntityLevel_IDX) = True Then odEntity.Level = oDAEntity.m_sLevel\n'            If baSetYN(DA_SETENT_EntityRank_IDX) = True Then odEntity.Rank = GetEntityRankEnum(oDAEntity.m_s\ub2e8\uacc4)\n'            If baSetYN(DA_SETENT_EntityVirtual_IDX) = True Then odEntity.Virtual = GetEntityTypeEnum(oDAEntity.m_s\uc720\ud615)\n'            If baSetYN(DA_SETENT_EntityStandardType_IDX) = True Then odEntity.StandardType = GetStandardTypeEnum(oDAEntity.m_s\ud45c\uc900\ud654)\n'            If baSetYN(DA_SETENT_EntityStatus_IDX) = True Then odEntity.Status = oDAEntity.m_s\uc0c1\ud0dc\n'            If baSetYN(DA_SETENT_EntityPeriod_IDX) = True Then odEntity.Period = oDAEntity.m_s\ubc1c\uc0dd\uc8fc\uae30\n'            If baSetYN(DA_SETENT_EntityMonthly_IDX) = True Then odEntity.Monthly = oDAEntity.m_s\uc6d4\uac04\ubc1c\uc0dd\ub7c9\n'            If baSetYN(DA_SETENT_EntityManage_IDX) = True Then odEntity.Manage = oDAEntity.m_s\ubcf4\uc874\uae30\ud55c\n'            If baSetYN(DA_SETENT_EntityTotal_IDX) = True Then odEntity.Total = oDAEntity.m_s\ucd1d\uac74\uc218\n'            If baSetYN(DA_SETENT_EntityDesc_IDX) = True Then odEntity.Desc = IIf(aIsAppendMode, odEntity.Desc + vbCrLf + oDAEntity.m_s\uc815\uc758, oDAEntity.m_s\uc815\uc758)\n'            If baSetYN(DA_SETENT_EntityFlow_IDX) = True Then odEntity.Flow = IIf(aIsAppendMode, odEntity.Flow + vbCrLf + oDAEntity.m_s\ub370\uc774\ud130\ucc98\ub9ac\ud615\ud0dc, oDAEntity.m_s\ub370\uc774\ud130\ucc98\ub9ac\ud615\ud0dc)\n'            If baSetYN(DA_SETENT_EntityRemark_IDX) = True Then odEntity.Remark = IIf(aIsAppendMode, odEntity.Remark + vbCrLf + oDAEntity.m_s\ud2b9\uc774\uc0ac\ud56d, oDAEntity.m_s\ud2b9\uc774\uc0ac\ud56d)\n'            If baSetYN(DA_SETENT_EntityNote_IDX) = True Then odEntity.Note = IIf(aIsAppendMode, odEntity.Note + vbCrLf + oDAEntity.m_sNote, oDAEntity.m_sNote)\n'            If baSetYN(DA_SETENT_EntityTag_IDX) = True Then odEntity.TagName = oDAEntity.m_sTag\n\n            Dim arrEnt(Modeler5.ENT_ARRAYCOUNT) As Variant\n'- \uc5d4\ud130\ud2f0 Property Array \uc811\uadfc \ubc29\uc2dd -----------------------------------------------------------------------------------------------------------------------------------------\n            If baSetYN(DA_SETENT_EntityName_IDX) = True Then odEntity.Name = oDAEntity.m_s\uc5d4\ud130\ud2f0\uba85\n            If baSetYN(DA_SETENT_EntityTableName_IDX) = True Then arrEnt(Modeler5.ENT_TABLENAME) = oDAEntity.m_s\ud14c\uc774\ube14\uba85\n            If baSetYN(DA_SETENT_EntitySynonym_IDX) = True Then arrEnt(Modeler5.ENT_SYNONYM) = oDAEntity.m_s\ub3d9\uc758\uc5b4\n            If baSetYN(DA_SETENT_EntityAltName_IDX) = True Then arrEnt(Modeler5.ENT_ALTNAME) = oDAEntity.m_s\ubcf4\uc870\uba85\n            If baSetYN(DA_SETENT_EntityDBOwner_IDX) = True Then arrEnt(Modeler5.ENT_DBOWNER) = oDAEntity.m_sDBOwner\n            If baSetYN(DA_SETENT_EntityCategory_IDX) = True Then arrEnt(Modeler5.ENT_CATEGORY) = GetEntityCategoryEnum(oDAEntity.m_s\ubd84\ub958)\n            If baSetYN(DA_SETENT_EntityLevel_IDX) = True Then arrEnt(Modeler5.ENT_LEVEL) = oDAEntity.m_sLevel\n            If baSetYN(DA_SETENT_EntityRank_IDX) = True Then arrEnt(Modeler5.ENT_RANK) = GetEntityRankEnum(oDAEntity.m_s\ub2e8\uacc4)\n            If baSetYN(DA_SETENT_EntityVirtual_IDX) = True Then arrEnt(Modeler5.ENT_VIRTUAL) = GetEntityTypeEnum(oDAEntity.m_s\uc720\ud615)\n            If baSetYN(DA_SETENT_EntityStandardType_IDX) = True Then arrEnt(Modeler5.ENT_STANDARDTYPE) = GetStandardTypeEnum(oDAEntity.m_s\ud45c\uc900\ud654)\n            If baSetYN(DA_SETENT_EntityStatus_IDX) = True Then arrEnt(Modeler5.ENT_STATUS) = oDAEntity.m_s\uc0c1\ud0dc\n            If baSetYN(DA_SETENT_EntityPeriod_IDX) = True Then arrEnt(Modeler5.ENT_PERIOD) = oDAEntity.m_s\ubc1c\uc0dd\uc8fc\uae30\n            If baSetYN(DA_SETENT_EntityMonthly_IDX) = True Then arrEnt(Modeler5.ENT_MONTHLY) = oDAEntity.m_s\uc6d4\uac04\ubc1c\uc0dd\ub7c9\n            If baSetYN(DA_SETENT_EntityManage_IDX) = True Then arrEnt(Modeler5.ENT_MANAGE) = oDAEntity.m_s\ubcf4\uc874\uae30\ud55c\n            If baSetYN(DA_SETENT_EntityTotal_IDX) = True Then arrEnt(Modeler5.ENT_TOTAL) = oDAEntity.m_s\ucd1d\uac74\uc218\n            If baSetYN(DA_SETENT_EntityDesc_IDX) = True Then arrEnt(Modeler5.ENT_DESC) = IIf(aIsAppendMode, odEntity.Desc + vbCrLf + oDAEntity.m_s\uc815\uc758, oDAEntity.m_s\uc815\uc758)\n            If baSetYN(DA_SETENT_EntityFlow_IDX) = True Then arrEnt(Modeler5.ENT_FLOW) = IIf(aIsAppendMode, odEntity.Flow + vbCrLf + oDAEntity.m_s\ub370\uc774\ud130\ucc98\ub9ac\ud615\ud0dc, oDAEntity.m_s\ub370\uc774\ud130\ucc98\ub9ac\ud615\ud0dc)\n            If baSetYN(DA_SETENT_EntityRemark_IDX) = True Then arrEnt(Modeler5.ENT_REMARK) = IIf(aIsAppendMode, odEntity.Remark + vbCrLf + oDAEntity.m_s\ud2b9\uc774\uc0ac\ud56d, oDAEntity.m_s\ud2b9\uc774\uc0ac\ud56d)\n            If baSetYN(DA_SETENT_EntityNote_IDX) = True Then arrEnt(Modeler5.ENT_NOTE) = IIf(aIsAppendMode, odEntity.Note + vbCrLf + oDAEntity.m_sNote, oDAEntity.m_sNote)\n            If baSetYN(DA_SETENT_EntityTag_IDX) = True Then arrEnt(Modeler5.ENT_TAGNAME) = oDAEntity.m_sTag\n            odEntity.Values = arrEnt\n\n            '-------------------- Set UDP Value --------------------\n            If oDAEntity.m_oUDPDic.Count = 0 Then GoTo Skip_Set 'UDP Collection\uc774 \ube44\uc5b4 \uc788\uc73c\uba74 Skip\n\n            Dim vUDPName As Variant, sUDPValue As String\n            For Each vUDPName In oDAEntity.m_oUDPDic.Keys 'Dictionary\uc5d0\ub294 Set\ub300\uc0c1 UDP\ub9cc \uac00\uc9c0\uace0 \uc788\uc74c\n                sUDPValue = oDAEntity.m_oUDPDic(vUDPName)\n                odEntity.SetUDPValue vUDPName, sUDPValue\n            Next vUDPName\nSkip_Set:\n            odEntity.UpdateDrawEntity\n        Next lEntIndex\n\n        odModel.ActiveAction (True) 'Undo\/Redo \ud65c\uc131\ud654\n        If aIsSaveNClose Then\n            odApp.SaveActiveModelFile\n            odApp.CloseActiveModelFile\n        End If\n    Next lTargetDAModelIndex\n    frmProgress.UpdateProgressBar aTargetModelList.Count, lTargetDAModelIndex + 1, oTargetDAModel.m_s\ubaa8\ub378\uba85, True\n\nErrHandling:\n    Resume Next\n\nFinalize_Section:\n    Application.ScreenUpdating = True\n    endTime = Now\n    sElapedTime = GetElapsedTime(startTime, endTime)\n    DoLog (\"Entity(Set) Finished. [ElapsedTime: \" + sElapedTime + \"]\")\n    frmProgress.SetDoneMsg sProgressMsg, sElapedTime\n    MsgBox \"\ucc98\ub9ac\uc644\ub8cc\" + vbCrLf + _\n           \"\ucc98\ub9ac\uac74\uc218: \" + CStr(lSetCount) + vbCrLf + _\n           \"Elapsed Time: \" + sElapedTime, vbInformation\nEnd Sub<\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li>21\ud589: Undo\/Redo\ub97c \ud574\uc81c\ud55c\ub2e4. (\uba54\ubaa8\ub9ac \uc808\uc57d\uacfc \uc131\ub2a5 \ud5a5\uc0c1 \ubaa9\uc801)<\/li><li>10, 25, 112\ud589: DoLog \ud568\uc218\ub85c \ucc98\ub9ac \uc0c1\ud0dc\ub97c \uae30\ub85d\ud55c\ub2e4. (\uc774 \ud568\uc218\ub294 Windows API &#8216;OutputDebugMessage&#8217;\ub97c \uc774\uc6a9\ud558\ub294 \uc0ac\uc6a9\uc790 \ud568\uc218\uc774\uace0, \uc774\uc640 \uad00\ub828\ud558\uc5ec \ubcc4\ub3c4\ub85c \ud3ec\uc2a4\ud305\ud560 \uc608\uc815\uc774\ub2e4)<\/li><li>83\ud589: \uc5d4\ud130\ud2f0 Property\uac00 \ub2f4\uae34 Array(Variant type)\ub97c Entity.Values\uc5d0 \ud560\ub2f9\ud558\uc5ec \ud55c\ubc88\uc5d0 \uac12\uc744 \uc124\uc815\ud55c\ub2e4.<\/li><\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-dots\"\/>\n\n\n\n<p>\uc5ec\uae30\uae4c\uc9c0&nbsp;DA# Macro\uc5d0\uc11c \uc0ac\uc6a9\ud558\uace0 \uc788\ub294 DA# Modeler API Object Model\uacfc VBA \ucf54\ub4dc \uad6c\uc131, \uc18c\uc2a4\ucf54\ub4dc \uc608\uc2dc\ub97c \uc0b4\ud3b4\ubcf4\uc558\ub2e4.<\/p>\n\n\n\n<p>\uc18c\uc2a4\ucf54\ub4dc\ub294 3\ub144\uc5ec\uc5d0 \uac78\uccd0 \uc2dc\uac04 \ub0a0 \ub54c \uac00\ub054\uc529 \ucf54\ub529\uacfc \ub9ac\ud329\ud1a0\ub9c1\uc744 \ubc18\ubcf5\ud558\ub2e4 \ubcf4\ub2c8, \uc804\uccb4\uc801\uc778 \ucf54\ub4dc \uc77c\uad00\uc131\uc740 \uc369 \uc88b\uc9c0 \uc54a\ub2e4. \uc804\ubc18\uc801\uc778 \ub9ac\ud329\ud1a0\ub9c1\uc740 \uc5b8\uc820\uac00 \uc190\ub300\uae34 \ud574\uc57c \ud558\ub294\ub370, \uc5b8\uc81c\uc77c\uc9c0\ub294 \ubaa8\ub974\uaca0\ub2e4.<\/p>\n\n\n\n<p>DA#\uc744 \uc0ac\uc6a9\ud558\ub294 \ub370\uc774\ud130 \ubaa8\ub378\ub7ec, DA(Data Architect, \ub370\uc774\ud130 \uc544\ud0a4\ud14d\ud2b8)\uc5d0\uac8c \uc774 \ub3c4\uad6c\uac00 \ub3c4\uc6c0\uc774 \ub418\uae38 \ubc14\ub780\ub2e4.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p>&lt;&lt;&nbsp;<strong>\uad00\ub828 \uae00 \ubaa9\ub85d<\/strong>&nbsp;&gt;&gt;<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><a href=\"https:\/\/prodskill.com\/da-macro-overview\/\">DA# Macro(1): DA#, DA# API, DA# Macro (\ub9e4\ud06c\ub85c) \uac1c\uc694<\/a><\/li><li><a href=\"https:\/\/prodskill.com\/da-macro-function-common-entity-get-set\/\">DA# Macro(2): DA# Macro(\ub9e4\ud06c\ub85c) \uae30\ub2a5(1)-\uacf5\ud1b5\uae30\ub2a5, Entity Get\/Set<\/a><\/li><li><a href=\"https:\/\/prodskill.com\/da-macro-function-attribute-get-set\/\">DA# Macro(3): DA# Macro(\ub9e4\ud06c\ub85c) \uae30\ub2a5(2)-Attribute Get\/Set<\/a><\/li><li><a href=\"https:\/\/prodskill.com\/da-macro-function-reverse\/\">DA# Macro(4): DA# Macro(\ub9e4\ud06c\ub85c) \uae30\ub2a5(3)-Reverse<\/a><\/li><li><a href=\"https:\/\/prodskill.com\/da-macro-usage-notes\/\">DA# Macro(5): \uc0ac\uc6a9\uc0c1 \uc8fc\uc758\uc0ac\ud56d\/\ucc38\uace0\uc0ac\ud56d, \ub2e4\uc6b4\ub85c\ub4dc, \ud5a5\ud6c4 \ucd94\uac00 \uc608\uc815 \uae30\ub2a5, \uc77c\ub7ec\ub450\uae30<\/a><\/li><li><a href=\"https:\/\/prodskill.com\/da-macro-modeler-api\/\">DA# Macro(6): DA# Modeler API<\/a><\/li><li><a href=\"https:\/\/prodskill.com\/da-macro-demo-video-youtube\/\">DA# Macro \uae30\ub2a5 \uc2dc\uc5f0 \uc601\uc0c1 (YouTube)<\/a><\/li><li><a href=\"https:\/\/prodskill.com\/da-macro-toc\/\">DA# Macro \uc124\uba85\uae00 \ubaa9\ucc28 , \ub2e4\uc6b4\ub85c\ub4dc<\/a><\/li><\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Dieser Artikel befasst sich mit dem DA#-Modeler-API-Objektmodell, das in DA#-Makros, VBA-Codekonfigurationen und Quellcodebeispielen verwendet wird. 5. DA#-Modellierer-API 5.1. DA#-Modellierer-API-Objektmodell Im vorherigen Artikel (DA#-Makro(1): DA#, DA#-API, DA#-Makro\u00fcbersicht), DA#-API-Objektmodell...<\/p>","protected":false},"author":1,"featured_media":11729,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[22],"tags":[17,73,109,110,111],"class_list":["post-11726","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-da-macro","tag-vba","tag-excel-vba","tag-da","tag-api","tag-da-macro"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.2 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>DA# Macro(6): DA# Modeler API - \uc0dd\uc0b0\uc131 Skill<\/title>\n<meta name=\"description\" content=\"\uc774\ubc88 \uae00\uc740 DA# Macro(\ub9e4\ud06c\ub85c)\uc5d0\uc11c \uc0ac\uc6a9\ud558\uace0 \uc788\ub294 DA# Modeler API Object Model\uacfc VBA \ucf54\ub4dc \uad6c\uc131, \uc18c\uc2a4\ucf54\ub4dc \uc608\uc2dc\ub97c \uc0b4\ud3b4\ubcf8\ub2e4. DA# Modeler API \ub294 &quot;Modeler5&quot; library\ub97c \ucc38\uc870 \ucd94\uac00\ud558\uc5ec \uc0ac\uc6a9\ud560 \uc218 \uc788\ub2e4.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/prodskill.com\/de\/da-macro-modeler-api\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"DA# Macro(6): DA# Modeler API - \uc0dd\uc0b0\uc131 Skill\" \/>\n<meta property=\"og:description\" content=\"\uc774\ubc88 \uae00\uc740 DA# Macro(\ub9e4\ud06c\ub85c)\uc5d0\uc11c \uc0ac\uc6a9\ud558\uace0 \uc788\ub294 DA# Modeler API Object Model\uacfc VBA \ucf54\ub4dc \uad6c\uc131, \uc18c\uc2a4\ucf54\ub4dc \uc608\uc2dc\ub97c \uc0b4\ud3b4\ubcf8\ub2e4. DA# Modeler API \ub294 &quot;Modeler5&quot; library\ub97c \ucc38\uc870 \ucd94\uac00\ud558\uc5ec \uc0ac\uc6a9\ud560 \uc218 \uc788\ub2e4.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/prodskill.com\/de\/da-macro-modeler-api\/\" \/>\n<meta property=\"og:site_name\" content=\"\uc0dd\uc0b0\uc131 Skill\" \/>\n<meta property=\"article:published_time\" content=\"2022-09-29T05:15:02+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-10-10T12:04:35+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-239.png\" \/>\n\t<meta property=\"og:image:width\" content=\"452\" \/>\n\t<meta property=\"og:image:height\" content=\"585\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Zerom\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Verfasst von\" \/>\n\t<meta name=\"twitter:data1\" content=\"Zerom\" \/>\n\t<meta name=\"twitter:label2\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data2\" content=\"13\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/prodskill.com\/da-macro-modeler-api\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/prodskill.com\/da-macro-modeler-api\/\"},\"author\":{\"name\":\"Zerom\",\"@id\":\"https:\/\/prodskill.com\/ko\/#\/schema\/person\/bbad0870c78008c82edbe0960fe768bd\"},\"headline\":\"DA# Macro(6): DA# Modeler API\",\"datePublished\":\"2022-09-29T05:15:02+00:00\",\"dateModified\":\"2022-10-10T12:04:35+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/prodskill.com\/da-macro-modeler-api\/\"},\"wordCount\":429,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/prodskill.com\/ko\/#\/schema\/person\/bbad0870c78008c82edbe0960fe768bd\"},\"image\":{\"@id\":\"https:\/\/prodskill.com\/da-macro-modeler-api\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-239.png\",\"keywords\":[\"\uc5d1\uc140VBA\",\"Excel VBA\",\"DA#\",\"API\",\"DA# Macro\"],\"articleSection\":[\"DA# Macro\"],\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/prodskill.com\/da-macro-modeler-api\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/prodskill.com\/da-macro-modeler-api\/\",\"url\":\"https:\/\/prodskill.com\/da-macro-modeler-api\/\",\"name\":\"DA# Macro(6): DA# Modeler API - \uc0dd\uc0b0\uc131 Skill\",\"isPartOf\":{\"@id\":\"https:\/\/prodskill.com\/ko\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/prodskill.com\/da-macro-modeler-api\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/prodskill.com\/da-macro-modeler-api\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-239.png\",\"datePublished\":\"2022-09-29T05:15:02+00:00\",\"dateModified\":\"2022-10-10T12:04:35+00:00\",\"description\":\"\uc774\ubc88 \uae00\uc740 DA# Macro(\ub9e4\ud06c\ub85c)\uc5d0\uc11c \uc0ac\uc6a9\ud558\uace0 \uc788\ub294 DA# Modeler API Object Model\uacfc VBA \ucf54\ub4dc \uad6c\uc131, \uc18c\uc2a4\ucf54\ub4dc \uc608\uc2dc\ub97c \uc0b4\ud3b4\ubcf8\ub2e4. DA# Modeler API \ub294 \\\"Modeler5\\\" library\ub97c \ucc38\uc870 \ucd94\uac00\ud558\uc5ec \uc0ac\uc6a9\ud560 \uc218 \uc788\ub2e4.\",\"breadcrumb\":{\"@id\":\"https:\/\/prodskill.com\/da-macro-modeler-api\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/prodskill.com\/da-macro-modeler-api\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\/\/prodskill.com\/da-macro-modeler-api\/#primaryimage\",\"url\":\"https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-239.png\",\"contentUrl\":\"https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-239.png\",\"width\":452,\"height\":585},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/prodskill.com\/da-macro-modeler-api\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/prodskill.com\/ko\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"DA# Macro(6): DA# Modeler API\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/prodskill.com\/ko\/#website\",\"url\":\"https:\/\/prodskill.com\/ko\/\",\"name\":\"\uc0dd\uc0b0\uc131 Skill\",\"description\":\"Meta Thinking, Meta Working\",\"publisher\":{\"@id\":\"https:\/\/prodskill.com\/ko\/#\/schema\/person\/bbad0870c78008c82edbe0960fe768bd\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/prodskill.com\/ko\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/prodskill.com\/ko\/#\/schema\/person\/bbad0870c78008c82edbe0960fe768bd\",\"name\":\"Zerom\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/productivity_clockgear.png\",\"url\":\"https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/productivity_clockgear.png\",\"contentUrl\":\"https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/productivity_clockgear.png\",\"width\":512,\"height\":512,\"caption\":\"Zerom\"},\"logo\":{\"@id\":\"https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/productivity_clockgear.png\"},\"url\":\"https:\/\/prodskill.com\/de\/author\/proda\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"DA#-Makro (6): DA#-Modellierungs-API \u2013 Produktivit\u00e4ts-Skill","description":"Dieser Artikel untersucht das im DA#-Makro verwendete DA# Modeler API-Objektmodell, seine VBA-Codestruktur und Quellcodebeispiele. Der Zugriff auf die DA# Modeler API erfolgt \u00fcber die Bibliothek \u201eModeler5\u201c.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/prodskill.com\/de\/da-macro-modeler-api\/","og_locale":"de_DE","og_type":"article","og_title":"DA# Macro(6): DA# Modeler API - \uc0dd\uc0b0\uc131 Skill","og_description":"\uc774\ubc88 \uae00\uc740 DA# Macro(\ub9e4\ud06c\ub85c)\uc5d0\uc11c \uc0ac\uc6a9\ud558\uace0 \uc788\ub294 DA# Modeler API Object Model\uacfc VBA \ucf54\ub4dc \uad6c\uc131, \uc18c\uc2a4\ucf54\ub4dc \uc608\uc2dc\ub97c \uc0b4\ud3b4\ubcf8\ub2e4. DA# Modeler API \ub294 \"Modeler5\" library\ub97c \ucc38\uc870 \ucd94\uac00\ud558\uc5ec \uc0ac\uc6a9\ud560 \uc218 \uc788\ub2e4.","og_url":"https:\/\/prodskill.com\/de\/da-macro-modeler-api\/","og_site_name":"\uc0dd\uc0b0\uc131 Skill","article_published_time":"2022-09-29T05:15:02+00:00","article_modified_time":"2022-10-10T12:04:35+00:00","og_image":[{"width":452,"height":585,"url":"https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-239.png","type":"image\/png"}],"author":"Zerom","twitter_card":"summary_large_image","twitter_misc":{"Verfasst von":"Zerom","Gesch\u00e4tzte Lesezeit":"13\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/prodskill.com\/da-macro-modeler-api\/#article","isPartOf":{"@id":"https:\/\/prodskill.com\/da-macro-modeler-api\/"},"author":{"name":"Zerom","@id":"https:\/\/prodskill.com\/ko\/#\/schema\/person\/bbad0870c78008c82edbe0960fe768bd"},"headline":"DA# Macro(6): DA# Modeler API","datePublished":"2022-09-29T05:15:02+00:00","dateModified":"2022-10-10T12:04:35+00:00","mainEntityOfPage":{"@id":"https:\/\/prodskill.com\/da-macro-modeler-api\/"},"wordCount":429,"commentCount":0,"publisher":{"@id":"https:\/\/prodskill.com\/ko\/#\/schema\/person\/bbad0870c78008c82edbe0960fe768bd"},"image":{"@id":"https:\/\/prodskill.com\/da-macro-modeler-api\/#primaryimage"},"thumbnailUrl":"https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-239.png","keywords":["\uc5d1\uc140VBA","Excel VBA","DA#","API","DA# Macro"],"articleSection":["DA# Macro"],"inLanguage":"de","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/prodskill.com\/da-macro-modeler-api\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/prodskill.com\/da-macro-modeler-api\/","url":"https:\/\/prodskill.com\/da-macro-modeler-api\/","name":"DA#-Makro (6): DA#-Modellierungs-API \u2013 Produktivit\u00e4ts-Skill","isPartOf":{"@id":"https:\/\/prodskill.com\/ko\/#website"},"primaryImageOfPage":{"@id":"https:\/\/prodskill.com\/da-macro-modeler-api\/#primaryimage"},"image":{"@id":"https:\/\/prodskill.com\/da-macro-modeler-api\/#primaryimage"},"thumbnailUrl":"https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-239.png","datePublished":"2022-09-29T05:15:02+00:00","dateModified":"2022-10-10T12:04:35+00:00","description":"Dieser Artikel untersucht das im DA#-Makro verwendete DA# Modeler API-Objektmodell, seine VBA-Codestruktur und Quellcodebeispiele. Der Zugriff auf die DA# Modeler API erfolgt \u00fcber die Bibliothek \u201eModeler5\u201c.","breadcrumb":{"@id":"https:\/\/prodskill.com\/da-macro-modeler-api\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/prodskill.com\/da-macro-modeler-api\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/prodskill.com\/da-macro-modeler-api\/#primaryimage","url":"https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-239.png","contentUrl":"https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/image-239.png","width":452,"height":585},{"@type":"BreadcrumbList","@id":"https:\/\/prodskill.com\/da-macro-modeler-api\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/prodskill.com\/ko\/"},{"@type":"ListItem","position":2,"name":"DA# Macro(6): DA# Modeler API"}]},{"@type":"WebSite","@id":"https:\/\/prodskill.com\/ko\/#website","url":"https:\/\/prodskill.com\/ko\/","name":"Produktivit\u00e4tsf\u00e4higkeiten","description":"Meta-Denken, Meta-Arbeiten","publisher":{"@id":"https:\/\/prodskill.com\/ko\/#\/schema\/person\/bbad0870c78008c82edbe0960fe768bd"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/prodskill.com\/ko\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":["Person","Organization"],"@id":"https:\/\/prodskill.com\/ko\/#\/schema\/person\/bbad0870c78008c82edbe0960fe768bd","name":"Nullm","image":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/productivity_clockgear.png","url":"https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/productivity_clockgear.png","contentUrl":"https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/productivity_clockgear.png","width":512,"height":512,"caption":"Zerom"},"logo":{"@id":"https:\/\/prodskill.com\/wp-content\/uploads\/2022\/09\/productivity_clockgear.png"},"url":"https:\/\/prodskill.com\/de\/author\/proda\/"}]}},"_links":{"self":[{"href":"https:\/\/prodskill.com\/de\/wp-json\/wp\/v2\/posts\/11726","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prodskill.com\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prodskill.com\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prodskill.com\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prodskill.com\/de\/wp-json\/wp\/v2\/comments?post=11726"}],"version-history":[{"count":0,"href":"https:\/\/prodskill.com\/de\/wp-json\/wp\/v2\/posts\/11726\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prodskill.com\/de\/wp-json\/wp\/v2\/media\/11729"}],"wp:attachment":[{"href":"https:\/\/prodskill.com\/de\/wp-json\/wp\/v2\/media?parent=11726"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prodskill.com\/de\/wp-json\/wp\/v2\/categories?post=11726"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prodskill.com\/de\/wp-json\/wp\/v2\/tags?post=11726"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}