{"id":488,"date":"2011-01-09T14:04:25","date_gmt":"2011-01-09T13:04:25","guid":{"rendered":"http:\/\/www.matjazev.net\/blog\/?p=488"},"modified":"2011-01-09T14:18:23","modified_gmt":"2011-01-09T13:18:23","slug":"add-in-express-razvoj-dodatka-%e2%80%93-razvoj","status":"publish","type":"post","link":"https:\/\/www.matjazev.net\/blog\/2011\/01\/09\/add-in-express-razvoj-dodatka-%e2%80%93-razvoj\/","title":{"rendered":"Add-in Express razvoj dodatka \u2013 Razvoj"},"content":{"rendered":"<p>Ko Add-in projekt pripravimo <a href=\"http:\/\/www.matjazev.net\/blog\/2011\/01\/09\/add-in-express-razvoj-dodatka-%E2%80%93-priprava-projekta\/\">tako kot je opisano v prej\u0161njem blogu<\/a>, nas pri\u010daka pripravljen projekt in lahko pri\u010dnemo s pisanjem programske kode. Komunikacija z Office programi bo potekala <strong>preko modula AddinModule.cs<\/strong>, v katerem bomo Office okolje zvezali z na\u0161im programom.<\/p>\n<p><a href=\"http:\/\/www.matjazev.net\/blog\/wp-content\/uploads\/2011\/01\/AddIn4.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-489\" title=\"AddIn4\" src=\"http:\/\/www.matjazev.net\/blog\/wp-content\/uploads\/2011\/01\/AddIn4.jpg\" alt=\"\" width=\"236\" height=\"169\" \/><\/a><br \/>\nV programskem delu modula<strong> nas \u010dakajo \u017ee pripravljeni objekti za dostop do vseh programov<\/strong>, ki smo si jih izbrali pri pripravi projekta.<\/p>\n<p><a href=\"http:\/\/www.matjazev.net\/blog\/wp-content\/uploads\/2011\/01\/AddIn5.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-490\" title=\"AddIn5\" src=\"http:\/\/www.matjazev.net\/blog\/wp-content\/uploads\/2011\/01\/AddIn5.jpg\" alt=\"\" width=\"438\" height=\"349\" srcset=\"https:\/\/www.matjazev.net\/blog\/wp-content\/uploads\/2011\/01\/AddIn5.jpg 438w, https:\/\/www.matjazev.net\/blog\/wp-content\/uploads\/2011\/01\/AddIn5-300x239.jpg 300w\" sizes=\"(max-width: 438px) 100vw, 438px\" \/><\/a><\/p>\n<p>\u010ce pa odpremo AddinModule.cs v <strong>vpoglednem na\u010dinu (design mode)<\/strong>, pa se nam odpre prazna delovna povr\u0161ina na <strong>katero lahko dodajamo razli\u010dne Office elemente<\/strong>, preko katerih bomo komunicirali s programi.<\/p>\n<p><a href=\"http:\/\/www.matjazev.net\/blog\/wp-content\/uploads\/2011\/01\/AddIn6.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-491\" title=\"AddIn6\" src=\"http:\/\/www.matjazev.net\/blog\/wp-content\/uploads\/2011\/01\/AddIn6.jpg\" alt=\"\" width=\"660\" height=\"791\" srcset=\"https:\/\/www.matjazev.net\/blog\/wp-content\/uploads\/2011\/01\/AddIn6.jpg 660w, https:\/\/www.matjazev.net\/blog\/wp-content\/uploads\/2011\/01\/AddIn6-250x300.jpg 250w\" sizes=\"(max-width: 660px) 100vw, 660px\" \/><\/a><\/p>\n<p>V testnem primeru se bomo z Office programi pogovarjali <strong>preko gumba na traku<\/strong> (<em>Office 2007 in 2010<\/em>) tre preko <strong>gumba na orodni vrstici<\/strong> (<em>Office 2000, XP in 2003<\/em>). Odziv na sam dogodek pa bo v obeh primerih enak.<\/p>\n<p>Zgradimo torej <strong>orodno vrstico z gumbom za Office 2000, XP in 2003.<\/strong><\/p>\n<p><a href=\"http:\/\/www.matjazev.net\/blog\/wp-content\/uploads\/2011\/01\/AddIn7.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-492\" title=\"AddIn7\" src=\"http:\/\/www.matjazev.net\/blog\/wp-content\/uploads\/2011\/01\/AddIn7-300x212.jpg\" alt=\"\" width=\"300\" height=\"212\" srcset=\"https:\/\/www.matjazev.net\/blog\/wp-content\/uploads\/2011\/01\/AddIn7-300x212.jpg 300w, https:\/\/www.matjazev.net\/blog\/wp-content\/uploads\/2011\/01\/AddIn7.jpg 693w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>Ter ustrezen <strong>trak za Office 2007 in Office 2010.<\/strong><\/p>\n<p><a href=\"http:\/\/www.matjazev.net\/blog\/wp-content\/uploads\/2011\/01\/AddIn8.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-493\" title=\"AddIn8\" src=\"http:\/\/www.matjazev.net\/blog\/wp-content\/uploads\/2011\/01\/AddIn8-300x212.jpg\" alt=\"\" width=\"300\" height=\"212\" srcset=\"https:\/\/www.matjazev.net\/blog\/wp-content\/uploads\/2011\/01\/AddIn8-300x212.jpg 300w, https:\/\/www.matjazev.net\/blog\/wp-content\/uploads\/2011\/01\/AddIn8.jpg 693w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>Ker sta podpisa funkcij za odziv na klik gumba na traku in v orodni vrstici razli\u010dna, se moramo odzvati na oba, a v njiju lahko kli\u010demo isto funkcijo, ki bo pa\u010d naredila, tisto, kar \u017eelimo:<br \/>\n<pre>private void doClick()\n{\nSystem.Windows.Forms.MessageBox.Show(&quot;Pozdrav iz Add-in Express&quot;);\n}\n\nprivate void RibbonBtn_Click(object sender, AddinExpress.MSO.IRibbonControl control, bool pressed)\n{\ndoClick();\n}\n\nprivate void CommandBarBtn_click(object sender)\n{\ndoClick();\n}\n<\/pre><br \/>\nKo projekt prevedemo,<strong> ga moramo obvezno tudi registrirati<\/strong>, kar lahko storimo kar znotraj VS.<\/p>\n<p><a href=\"http:\/\/www.matjazev.net\/blog\/wp-content\/uploads\/2011\/01\/AddIn9.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-494\" title=\"AddIn9\" src=\"http:\/\/www.matjazev.net\/blog\/wp-content\/uploads\/2011\/01\/AddIn9.jpg\" alt=\"\" width=\"336\" height=\"283\" srcset=\"https:\/\/www.matjazev.net\/blog\/wp-content\/uploads\/2011\/01\/AddIn9.jpg 336w, https:\/\/www.matjazev.net\/blog\/wp-content\/uploads\/2011\/01\/AddIn9-300x252.jpg 300w\" sizes=\"(max-width: 336px) 100vw, 336px\" \/><\/a><\/p>\n<p>Ker dodatek sam zase seveda ne more te\u010di, moramo VS-u pred zagonom dodatka povedati, <strong>kateri program naj za\u017eene ob testu dodatka<\/strong>. Slednje seveda dolo\u010dimo na lastnostih projekta, <strong>kjer definiramo program za zagon<\/strong>, kot je prikazano na spodnji sliki.<\/p>\n<p><a href=\"http:\/\/www.matjazev.net\/blog\/wp-content\/uploads\/2011\/01\/AddIn10.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-495\" title=\"AddIn10\" src=\"http:\/\/www.matjazev.net\/blog\/wp-content\/uploads\/2011\/01\/AddIn10-300x239.jpg\" alt=\"\" width=\"300\" height=\"239\" srcset=\"https:\/\/www.matjazev.net\/blog\/wp-content\/uploads\/2011\/01\/AddIn10-300x239.jpg 300w, https:\/\/www.matjazev.net\/blog\/wp-content\/uploads\/2011\/01\/AddIn10.jpg 667w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>Sam sem izbral Excel in kar na razvojnem ra\u010dunalniku uporabljam <strong>Excel 2007 sem v traku dobil nov zavihek z gumbom<\/strong>.<\/p>\n<p><a href=\"http:\/\/www.matjazev.net\/blog\/wp-content\/uploads\/2011\/01\/AddIn11.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-496\" title=\"AddIn11\" src=\"http:\/\/www.matjazev.net\/blog\/wp-content\/uploads\/2011\/01\/AddIn11.jpg\" alt=\"\" width=\"171\" height=\"156\" \/><\/a><\/p>\n<p>\u010ce gumb kliknem dobim <strong>pri\u010dakovan odziv<\/strong>.<\/p>\n<p><a href=\"http:\/\/www.matjazev.net\/blog\/wp-content\/uploads\/2011\/01\/AddIn12.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-497\" title=\"AddIn12\" src=\"http:\/\/www.matjazev.net\/blog\/wp-content\/uploads\/2011\/01\/AddIn12.jpg\" alt=\"\" width=\"190\" height=\"144\" \/><\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Ko Add-in projekt pripravimo tako kot je opisano v prej\u0161njem blogu, nas pri\u010daka pripravljen projekt in lahko pri\u010dnemo s pisanjem programske kode. Komunikacija z Office programi bo potekala preko modula AddinModule.cs, v katerem bomo Office okolje zvezali z na\u0161im programom. V programskem delu modula nas \u010dakajo \u017ee pripravljeni objekti za dostop do vseh programov, ki &hellip; <a href=\"https:\/\/www.matjazev.net\/blog\/2011\/01\/09\/add-in-express-razvoj-dodatka-%e2%80%93-razvoj\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">Add-in Express razvoj dodatka \u2013 Razvoj<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3,35,34],"tags":[36,61,6,30],"_links":{"self":[{"href":"https:\/\/www.matjazev.net\/blog\/wp-json\/wp\/v2\/posts\/488"}],"collection":[{"href":"https:\/\/www.matjazev.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.matjazev.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.matjazev.net\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.matjazev.net\/blog\/wp-json\/wp\/v2\/comments?post=488"}],"version-history":[{"count":5,"href":"https:\/\/www.matjazev.net\/blog\/wp-json\/wp\/v2\/posts\/488\/revisions"}],"predecessor-version":[{"id":501,"href":"https:\/\/www.matjazev.net\/blog\/wp-json\/wp\/v2\/posts\/488\/revisions\/501"}],"wp:attachment":[{"href":"https:\/\/www.matjazev.net\/blog\/wp-json\/wp\/v2\/media?parent=488"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.matjazev.net\/blog\/wp-json\/wp\/v2\/categories?post=488"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.matjazev.net\/blog\/wp-json\/wp\/v2\/tags?post=488"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}