{"id":5309,"date":"2015-02-23T17:03:22","date_gmt":"2015-02-23T08:03:22","guid":{"rendered":"http:\/\/www.ka-net.org\/blog\/?p=5309"},"modified":"2015-10-02T14:12:03","modified_gmt":"2015-10-02T05:12:03","slug":"sharpdevelop%e3%81%a7excel%e7%94%a8com%e3%82%a2%e3%83%89%e3%82%a4%e3%83%b3%e3%82%92%e4%bd%9c%e6%88%90%e3%81%99%e3%82%8b%e6%96%b9%e6%b3%95","status":"publish","type":"post","link":"https:\/\/www.ka-net.org\/blog\/?p=5309","title":{"rendered":"SharpDevelop\u3067Excel\u7528COM\u30a2\u30c9\u30a4\u30f3\u3092\u4f5c\u6210\u3059\u308b\u65b9\u6cd5"},"content":{"rendered":"<p>\u300c<a href=\"\/\/www.ka-net.org\/blog\/?p=5268\" title=\"SharpDevelop\u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3068\u65e5\u672c\u8a9e\u5316\" target=\"_blank\">SharpDevelop\u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3068\u65e5\u672c\u8a9e\u5316<\/a>\u300d\u3067\u7d39\u4ecb\u3057\u3066\u3044\u308bSharpDevelop\u306b\u306f\u3001COM\u30a2\u30c9\u30a4\u30f3\u3092\u4f5c\u308b\u305f\u3081\u306e\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u304c\u7528\u610f\u3055\u308c\u3066\u3044\u308b\u306e\u3067\u3001Office\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3067\u4f7f\u3048\u308bCOM\u30a2\u30c9\u30a4\u30f3\u3092\u7c21\u5358\u306b\u958b\u767a\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<\/p>\n<h4 class=\"style4a\">Excel\u7528COM\u30a2\u30c9\u30a4\u30f3\u306e\u4f5c\u6210\u65b9\u6cd5<\/h4>\n<p><span style=\"color: #ff0000; font-weight: bold;\">\u203b \u4e0b\u8a18\u306f\u65e5\u672c\u8a9e\u5316\u3057\u305fSharpDevelop\u3092\u5143\u306b\u8aac\u660e\u3057\u3066\u3044\u307e\u3059\u3002<\/span><\/p>\n<ol>\n<li><span style=\"color: #ff0000; font-weight: bold;\">\u7ba1\u7406\u8005\u6a29\u9650\u3067<\/span>SharpDevelop\u3092\u8d77\u52d5\u3057\u307e\u3059\u3002\u7ba1\u7406\u8005\u6a29\u9650\u3067\u8d77\u52d5\u3057\u306a\u3044\u3068\u3001\u30bd\u30ea\u30e5\u30fc\u30b7\u30e7\u30f3\u306e\u30d3\u30eb\u30c9\u6642\u306b\u201cCannot unregister assembly\u201d\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3059\u3002<\/li>\n<li>\u30d5\u30a1\u30a4\u30eb\u30e1\u30cb\u30e5\u30fc\u306e\u300c<span style=\"color: #ff0000; font-weight: bold;\">\u65b0\u898f\u4f5c\u6210<\/span>\u300d\u304b\u3089\u300c<span style=\"color: #ff0000; font-weight: bold;\">\u30bd\u30ea\u30e5\u30fc\u30b7\u30e7\u30f3<\/span>\u300d\u3092\u30af\u30ea\u30c3\u30af\u3057\u307e\u3059\u3002<\/li>\n<p><a href=\"\/\/www.ka-net.org\/blog\/wp-content\/uploads\/SharpDevelop_Excel_AddIn_01.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"\/\/www.ka-net.org\/blog\/wp-content\/uploads\/SharpDevelop_Excel_AddIn_01.jpg\" alt=\"SharpDevelop_Excel_AddIn_01\" width=\"680\" height=\"164\" class=\"alignnone size-full wp-image-5310\" srcset=\"https:\/\/www.ka-net.org\/blog\/wp-content\/uploads\/SharpDevelop_Excel_AddIn_01.jpg 680w, https:\/\/www.ka-net.org\/blog\/wp-content\/uploads\/SharpDevelop_Excel_AddIn_01-300x72.jpg 300w\" sizes=\"auto, (max-width: 680px) 100vw, 680px\" \/><\/a><\/p>\n<li>\u65b0\u3057\u3044\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u30c0\u30a4\u30a2\u30ed\u30b0\u306e\u300c<span style=\"color: #ff0000; font-weight: bold;\">\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8<\/span>\u300d\u304b\u3089\u300c<span style=\"color: #ff0000; font-weight: bold;\">\u5171\u6709\u30a2\u30c9\u30a4\u30f3<\/span>\u300d\u3092\u9078\u629e\u3057\u3001\u30bd\u30ea\u30e5\u30fc\u30b7\u30e7\u30f3\u306e\u540d\u524d(\u4eca\u56de\u306fMySampleAddIn)\u3092\u5165\u529b\u5f8c\u300c<span style=\"color: #ff0000; font-weight: bold;\">\u65b0\u898f<\/span>\u300d\u30dc\u30bf\u30f3\u3092\u30af\u30ea\u30c3\u30af\u3057\u307e\u3059\u3002<\/li>\n<p><a href=\"\/\/www.ka-net.org\/blog\/wp-content\/uploads\/SharpDevelop_Excel_AddIn_02.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"\/\/www.ka-net.org\/blog\/wp-content\/uploads\/SharpDevelop_Excel_AddIn_02.jpg\" alt=\"SharpDevelop_Excel_AddIn_02\" width=\"603\" height=\"430\" class=\"alignnone size-full wp-image-5311\" srcset=\"https:\/\/www.ka-net.org\/blog\/wp-content\/uploads\/SharpDevelop_Excel_AddIn_02.jpg 603w, https:\/\/www.ka-net.org\/blog\/wp-content\/uploads\/SharpDevelop_Excel_AddIn_02-300x214.jpg 300w\" sizes=\"auto, (max-width: 603px) 100vw, 603px\" \/><\/a><\/p>\n<li>\u300c<span style=\"color: #ff0000; font-weight: bold;\">\u30d7\u30ed\u30b8\u30a7\u30af\u30c8<\/span>\u300d\u304b\u3089\u300c<span style=\"color: #ff0000; font-weight: bold;\">Microsoft.Office.Interop.Excel<\/span>\u300d\u3068\u300c<span style=\"color: #ff0000; font-weight: bold;\">System.Windows.Forms<\/span>\u300d\u3078\u306e\u53c2\u7167\u3092\u8ffd\u52a0\u3057\u307e\u3059\u3002<\/li>\n<p><a href=\"\/\/www.ka-net.org\/blog\/wp-content\/uploads\/SharpDevelop_Excel_AddIn_03.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"\/\/www.ka-net.org\/blog\/wp-content\/uploads\/SharpDevelop_Excel_AddIn_03.jpg\" alt=\"SharpDevelop_Excel_AddIn_03\" width=\"359\" height=\"366\" class=\"alignnone size-full wp-image-5312\" srcset=\"https:\/\/www.ka-net.org\/blog\/wp-content\/uploads\/SharpDevelop_Excel_AddIn_03.jpg 359w, https:\/\/www.ka-net.org\/blog\/wp-content\/uploads\/SharpDevelop_Excel_AddIn_03-294x300.jpg 294w, https:\/\/www.ka-net.org\/blog\/wp-content\/uploads\/SharpDevelop_Excel_AddIn_03-64x64.jpg 64w\" sizes=\"auto, (max-width: 359px) 100vw, 359px\" \/><\/a><\/p>\n<p><a href=\"\/\/www.ka-net.org\/blog\/wp-content\/uploads\/SharpDevelop_Excel_AddIn_04.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"\/\/www.ka-net.org\/blog\/wp-content\/uploads\/SharpDevelop_Excel_AddIn_04.jpg\" alt=\"SharpDevelop_Excel_AddIn_04\" width=\"586\" height=\"437\" class=\"alignnone size-full wp-image-5313\" srcset=\"https:\/\/www.ka-net.org\/blog\/wp-content\/uploads\/SharpDevelop_Excel_AddIn_04.jpg 586w, https:\/\/www.ka-net.org\/blog\/wp-content\/uploads\/SharpDevelop_Excel_AddIn_04-300x224.jpg 300w\" sizes=\"auto, (max-width: 586px) 100vw, 586px\" \/><\/a><\/p>\n<p><a href=\"\/\/www.ka-net.org\/blog\/wp-content\/uploads\/SharpDevelop_Excel_AddIn_05.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"\/\/www.ka-net.org\/blog\/wp-content\/uploads\/SharpDevelop_Excel_AddIn_05.jpg\" alt=\"SharpDevelop_Excel_AddIn_05\" width=\"586\" height=\"437\" class=\"alignnone size-full wp-image-5314\" srcset=\"https:\/\/www.ka-net.org\/blog\/wp-content\/uploads\/SharpDevelop_Excel_AddIn_05.jpg 586w, https:\/\/www.ka-net.org\/blog\/wp-content\/uploads\/SharpDevelop_Excel_AddIn_05-300x224.jpg 300w\" sizes=\"auto, (max-width: 586px) 100vw, 586px\" \/><\/a><\/p>\n<li>\u300c<span style=\"color: #ff0000; font-weight: bold;\">Connect.cs<\/span>\u300d\u30d5\u30a1\u30a4\u30eb\u306b\u4e0b\u8a18\u30b3\u30fc\u30c9\u3092\u5165\u529b\u3057\u305f\u5f8c\u3001<span style=\"color: #ff0000; font-weight: bold;\">F8\u30ad\u30fc<\/span>\u3092\u62bc\u3057\u3066\u3001\u30bd\u30ea\u30e5\u30fc\u30b7\u30e7\u30f3\u306e\u30d3\u30eb\u30c9\u3092\u5b9f\u884c\u3057\u307e\u3059\u3002<\/li>\n<pre class=\"brush: csharp; title: ; notranslate\" title=\"\">namespace MySampleAddIn\r\n{\r\n    using System;\r\n    using System.Windows.Forms;\r\n    using System.Runtime.InteropServices;\r\n    using Extensibility;\r\n    using Excel = Microsoft.Office.Interop.Excel;\r\n\r\n    &#x5B;GuidAttribute(&quot;0BD47D5A-31BF-4217-AF21-B2DD5B0255D5&quot;), ProgId(&quot;MySampleAddIn.Connect&quot;)]\r\n    &#x5B;ComVisible(true)]\r\n    public class Connect : Object, Extensibility.IDTExtensibility2, IRibbonExtensibility\r\n    {\r\n        private Excel.Application exApp;\r\n        private Excel.Worksheet exSht;\r\n        private Excel.Range exRng;\r\n        \r\n        public Connect()\r\n        {\r\n        }\r\n\r\n        public void OnConnection(object application, ext_ConnectMode ConnectMode, object AddInInst, ref System.Array custom)\r\n        {\r\n            exApp = ((Excel.Application) application);\r\n        }\r\n        \r\n        public void OnDisconnection(ext_DisconnectMode RemoveMode, ref System.Array custom)\r\n        {\r\n            if (exRng != null) {\r\n                Marshal.ReleaseComObject(exRng);\r\n                exRng = null;\r\n            }\r\n            if (exSht != null) {\r\n                Marshal.ReleaseComObject(exSht);\r\n                exSht = null;\r\n            }\r\n            if (exApp != null) {\r\n                Marshal.ReleaseComObject(exApp);\r\n                exApp = null;\r\n            }\r\n            GC.Collect();\r\n            GC.WaitForPendingFinalizers();\r\n        }\r\n        \r\n        public void OnAddInsUpdate(ref System.Array custom)\r\n        {\r\n        }\r\n        \r\n        public void OnStartupComplete(ref System.Array custom)\r\n        {\r\n        }\r\n        \r\n        public void OnBeginShutdown(ref System.Array custom)\r\n        {\r\n        }\r\n        \r\n        public string GetCustomUI(string RibbonID)\r\n        {\r\n            return @&quot;&lt;?xml version=&quot;&quot;1.0&quot;&quot; encoding=&quot;&quot;utf-8&quot;&quot;?&gt;\r\n&lt;customUI xmlns=&quot;&quot;http:\/\/schemas.microsoft.com\/office\/2006\/01\/customui&quot;&quot;&gt;\r\n  &lt;ribbon&gt;\r\n    &lt;tabs&gt;\r\n      &lt;tab id=&quot;&quot;tabSample&quot;&quot; label=&quot;&quot;Sample Tab&quot;&quot;&gt;\r\n        &lt;group id=&quot;&quot;grpSample&quot;&quot; label=&quot;&quot;Sample Group&quot;&quot;&gt;\r\n          &lt;button id=&quot;&quot;btnSample&quot;&quot; label=&quot;&quot;Sample Button&quot;&quot; size=&quot;&quot;large&quot;&quot; imageMso=&quot;&quot;HappyFace&quot;&quot; onAction=&quot;&quot;btnSample_onAction&quot;&quot; \/&gt;\r\n        &lt;\/group&gt;\r\n      &lt;\/tab&gt;\r\n    &lt;\/tabs&gt;\r\n  &lt;\/ribbon&gt;\r\n&lt;\/customUI&gt;&quot;;\r\n        }\r\n        \r\n        public void btnSample_onAction(IRibbonControl control)\r\n        {\r\n            try {\r\n                exSht = (Excel.Worksheet)exApp.ActiveSheet;\r\n                exRng = (Excel.Range)exSht.Cells&#x5B;1, 1];\r\n                exRng.Value = &quot;\u547c\u3073\u51fa\u3057\u5143\u306e\u30b3\u30f3\u30c8\u30ed\u30fc\u30ebID\u306f\u300c&quot; + control.Id + &quot;\u300d\u3067\u3059\u3002&quot;;\r\n            } catch (Exception) {\r\n                MessageBox.Show(&quot;\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002&quot;, &quot;Error&quot;, MessageBoxButtons.OK, MessageBoxIcon.Error);\r\n            }\r\n        }\r\n    }\r\n    \r\n    &#x5B;ComImport, ComVisible(true), Guid(&quot;000C0396-0000-0000-C000-000000000046&quot;), TypeLibType((short)0x1040)]\r\n    public interface IRibbonExtensibility\r\n    {\r\n        string GetCustomUI(string RibbonID);\r\n    }\r\n    \r\n    &#x5B;ComImport, ComVisible(true), Guid(&quot;000C0395-0000-0000-C000-000000000046&quot;), TypeLibType((short)0x1040)]\r\n    public interface IRibbonControl\r\n    {\r\n        &#x5B;DispId(1)]\r\n        string Id{get;}\r\n        &#x5B;DispId(2)]\r\n        object Context{get;}\r\n        &#x5B;DispId(3)]\r\n        string Tag{get;}\r\n    }\r\n}<\/pre>\n<p><a href=\"\/\/www.ka-net.org\/blog\/wp-content\/uploads\/SharpDevelop_Excel_AddIn_06.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"\/\/www.ka-net.org\/blog\/wp-content\/uploads\/SharpDevelop_Excel_AddIn_06.jpg\" alt=\"SharpDevelop_Excel_AddIn_06\" width=\"1076\" height=\"873\" class=\"alignnone size-full wp-image-5315\" srcset=\"https:\/\/www.ka-net.org\/blog\/wp-content\/uploads\/SharpDevelop_Excel_AddIn_06.jpg 1076w, https:\/\/www.ka-net.org\/blog\/wp-content\/uploads\/SharpDevelop_Excel_AddIn_06-300x243.jpg 300w, https:\/\/www.ka-net.org\/blog\/wp-content\/uploads\/SharpDevelop_Excel_AddIn_06-1024x831.jpg 1024w\" sizes=\"auto, (max-width: 1076px) 100vw, 1076px\" \/><\/a><\/p>\n<li>\u30d3\u30eb\u30c9\u304c\u7d42\u4e86\u3057\u3001DLL\u30d5\u30a1\u30a4\u30eb\u304c\u4f5c\u6210\u3055\u308c\u308c\u3070\u4f5c\u696d\u7d42\u4e86\u3067\u3059\u3002<\/li>\n<p><a href=\"\/\/www.ka-net.org\/blog\/wp-content\/uploads\/SharpDevelop_Excel_AddIn_07.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"\/\/www.ka-net.org\/blog\/wp-content\/uploads\/SharpDevelop_Excel_AddIn_07.jpg\" alt=\"SharpDevelop_Excel_AddIn_07\" width=\"389\" height=\"411\" class=\"alignnone size-full wp-image-5316\" srcset=\"https:\/\/www.ka-net.org\/blog\/wp-content\/uploads\/SharpDevelop_Excel_AddIn_07.jpg 389w, https:\/\/www.ka-net.org\/blog\/wp-content\/uploads\/SharpDevelop_Excel_AddIn_07-284x300.jpg 284w\" sizes=\"auto, (max-width: 389px) 100vw, 389px\" \/><\/a>\n<\/ol>\n<p>DLL\u30d5\u30a1\u30a4\u30eb\u306e\u4f5c\u6210\u304c\u7d42\u4e86\u3057\u305f\u3089\u3001\u4eca\u5ea6\u306fRegAsm.exe(\u30a2\u30bb\u30f3\u30d6\u30ea\u767b\u9332\u30c4\u30fc\u30eb)\u3092\u4f7f\u3063\u3066DLL\u3092\u767b\u9332\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002<\/p>\n<h4 class=\"style4a\">DLL\u30d5\u30a1\u30a4\u30eb\u306e\u767b\u9332<\/h4>\n<ol>\n<li><a href=\"http:\/\/windows.microsoft.com\/ja-jp\/windows\/command-prompt-faq\" title=\"\u30b3\u30de\u30f3\u30c9 \u30d7\u30ed\u30f3\u30d7\u30c8: \u3088\u304f\u5bc4\u305b\u3089\u308c\u308b\u8cea\u554f - Windows \u30d8\u30eb\u30d7\" target=\"_blank\">\u7ba1\u7406\u8005\u6a29\u9650\u3067\u30b3\u30de\u30f3\u30c9\u30d7\u30ed\u30f3\u30d7\u30c8<\/a>\u3092\u5b9f\u884c\u3057\u307e\u3059\u3002<\/li>\n<p><a href=\"\/\/www.ka-net.org\/blog\/wp-content\/uploads\/SharpDevelop_Excel_AddIn_08.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"\/\/www.ka-net.org\/blog\/wp-content\/uploads\/SharpDevelop_Excel_AddIn_08.jpg\" alt=\"SharpDevelop_Excel_AddIn_08\" width=\"677\" height=\"492\" class=\"alignnone size-full wp-image-5317\" srcset=\"https:\/\/www.ka-net.org\/blog\/wp-content\/uploads\/SharpDevelop_Excel_AddIn_08.jpg 677w, https:\/\/www.ka-net.org\/blog\/wp-content\/uploads\/SharpDevelop_Excel_AddIn_08-300x218.jpg 300w\" sizes=\"auto, (max-width: 677px) 100vw, 677px\" \/><\/a><\/p>\n<li>\u4e0b\u8a18\u30b3\u30de\u30f3\u30c9\u3092\u5b9f\u884c\u3057\u3066\u300c<span style=\"color: #ff0000; font-weight: bold;\">RegAsm.exe<\/span>\u300d\u30d5\u30a1\u30a4\u30eb\u304c\u3042\u308b\u30d5\u30a9\u30eb\u30c0\u306b\u79fb\u52d5\u3057\u307e\u3059\u3002RegAsm.exe\u30d5\u30a1\u30a4\u30eb\u304c\u3042\u308b\u30d5\u30a9\u30eb\u30c0\u306f\u3001\u74b0\u5883\u306b\u3088\u3063\u3066\u7570\u306a\u308b\u5834\u5408\u304c\u3042\u308a\u307e\u3059\u3002<\/li>\n<pre class=\"brush: plain; title: ; notranslate\" title=\"\">cd &quot;C:\\Windows\\Microsoft.NET\\Framework\\v4.0.30319&quot;<\/pre>\n<p><a href=\"\/\/www.ka-net.org\/blog\/wp-content\/uploads\/SharpDevelop_Excel_AddIn_09.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"\/\/www.ka-net.org\/blog\/wp-content\/uploads\/SharpDevelop_Excel_AddIn_09.jpg\" alt=\"SharpDevelop_Excel_AddIn_09\" width=\"677\" height=\"492\" class=\"alignnone size-full wp-image-5318\" srcset=\"https:\/\/www.ka-net.org\/blog\/wp-content\/uploads\/SharpDevelop_Excel_AddIn_09.jpg 677w, https:\/\/www.ka-net.org\/blog\/wp-content\/uploads\/SharpDevelop_Excel_AddIn_09-300x218.jpg 300w\" sizes=\"auto, (max-width: 677px) 100vw, 677px\" \/><\/a><\/p>\n<li>\u300c<span style=\"color: #ff0000; font-weight: bold;\">RegAsm &#8220;(SharpDevelop\u3067\u4f5c\u6210\u3057\u305fDLL\u30d5\u30a1\u30a4\u30eb\u306e\u30d1\u30b9)&#8221; \/tlb \/codebase<\/span>\u300d\u30b3\u30de\u30f3\u30c9\u3092\u5b9f\u884c\u3057\u3066\u3001DLL\u30d5\u30a1\u30a4\u30eb\u306e\u767b\u9332\u3092\u884c\u3044\u307e\u3059\u3002<\/li>\n<pre class=\"brush: plain; title: ; notranslate\" title=\"\">RegAsm &quot;C:\\SharpDevelop Projects\\MySampleAddIn\\MySampleAddIn\\bin\\Debug\\MySampleAddIn.dll&quot; \/tlb \/codebase<\/pre>\n<p><a href=\"\/\/www.ka-net.org\/blog\/wp-content\/uploads\/SharpDevelop_Excel_AddIn_10.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"\/\/www.ka-net.org\/blog\/wp-content\/uploads\/SharpDevelop_Excel_AddIn_10.jpg\" alt=\"SharpDevelop_Excel_AddIn_10\" width=\"677\" height=\"492\" class=\"alignnone size-full wp-image-5319\" srcset=\"https:\/\/www.ka-net.org\/blog\/wp-content\/uploads\/SharpDevelop_Excel_AddIn_10.jpg 677w, https:\/\/www.ka-net.org\/blog\/wp-content\/uploads\/SharpDevelop_Excel_AddIn_10-300x218.jpg 300w\" sizes=\"auto, (max-width: 677px) 100vw, 677px\" \/><\/a>\n<\/ol>\n<p>RegAsm.exe\u306b\u3088\u308bDLL\u30d5\u30a1\u30a4\u30eb\u306e\u767b\u9332\u304c\u7d42\u4e86\u3057\u305f\u3089\u3001\u4eca\u5ea6\u306fExcel\u304b\u3089\u30a2\u30c9\u30a4\u30f3\u3068\u3057\u3066\u4f7f\u3048\u308b\u3088\u3046\u3001\u30ec\u30b8\u30b9\u30c8\u30ea\u3092\u5909\u66f4\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002<\/p>\n<h4 class=\"style4a\">\u30a2\u30c9\u30a4\u30f3\u3068\u3057\u3066\u767b\u9332(\u30ec\u30b8\u30b9\u30c8\u30ea\u7de8\u96c6)<\/h4>\n<ol>\n<li>\u30ec\u30b8\u30b9\u30c8\u30ea\u30a8\u30c7\u30a3\u30bf\u3092\u8d77\u52d5\u3057\u307e\u3059\u3002<\/li>\n<li>\u300c<span style=\"color: #ff0000; font-weight: bold;\">HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Office\\Excel\\Addins<\/span>\u300d\u4ee5\u4e0b\u306b\u300c<span style=\"color: #ff0000; font-weight: bold;\">MySampleAddIn.Connect<\/span>\u300d\u30ad\u30fc\u3092\u65b0\u898f\u8ffd\u52a0\u3057\u307e\u3059\u3002<\/li>\n<li>2.\u3067\u8ffd\u52a0\u3057\u305f\u300c<span style=\"color: #ff0000; font-weight: bold;\">MySampleAddIn.Connect<\/span>\u300d\u30ad\u30fc\u306b\u4e0b\u8a18\u30a8\u30f3\u30c8\u30ea\u3092\u8ffd\u52a0\u3057\u307e\u3059\u3002<\/li>\n<p><strong>Description<\/strong>(REG_SZ)\uff1aCOM\u30a2\u30c9\u30a4\u30f3\u306e\u8aac\u660e\u3002\u4eca\u56de\u306f\u300c<span style=\"color: #ff0000; font-weight: bold;\">SharpDevelop\u3067\u4f5c\u3063\u305f\u30b5\u30f3\u30d7\u30eb\u30a2\u30c9\u30a4\u30f3\u3067\u3059\u3002<\/span>\u300d<br \/>\n<strong>FriendlyName<\/strong>(REG_SZ)\uff1aCOM\u30a2\u30c9\u30a4\u30f3\u306e\u8868\u793a\u540d\u3002\u4eca\u56de\u306f\u300c<span style=\"color: #ff0000; font-weight: bold;\">My Sample AddIn<\/span>\u300d<br \/>\n<strong>LoadBehavior<\/strong>(REG_DWORD)\uff1aCOM\u30a2\u30c9\u30a4\u30f3\u306e\u8aad\u307f\u8fbc\u307f\u65b9\u6cd5\u3002\u4eca\u56de\u306f\u300c<span style=\"color: #ff0000; font-weight: bold;\">3<\/span>\u300d(\u30b9\u30bf\u30fc\u30c8\u6642\u306b\u8aad\u307f\u8fbc\u3080)<\/p>\n<p><a href=\"\/\/www.ka-net.org\/blog\/wp-content\/uploads\/SharpDevelop_Excel_AddIn_11.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"\/\/www.ka-net.org\/blog\/wp-content\/uploads\/SharpDevelop_Excel_AddIn_11.jpg\" alt=\"SharpDevelop_Excel_AddIn_11\" width=\"995\" height=\"229\" class=\"alignnone size-full wp-image-5320\" srcset=\"https:\/\/www.ka-net.org\/blog\/wp-content\/uploads\/SharpDevelop_Excel_AddIn_11.jpg 995w, https:\/\/www.ka-net.org\/blog\/wp-content\/uploads\/SharpDevelop_Excel_AddIn_11-300x69.jpg 300w\" sizes=\"auto, (max-width: 995px) 100vw, 995px\" \/><\/a>\n<\/ol>\n<p>\u4ee5\u4e0a\u3067\u4f5c\u696d\u306f\u7d42\u4e86\u3067\u3059\u3002<br \/>\n\u4e0a\u8a18\u4f5c\u696d\u5f8cExcel\u3092\u8d77\u52d5\u3059\u308b\u3068\u3001\u4f5c\u6210\u3057\u305f\u30a2\u30c9\u30a4\u30f3\u304c\u8aad\u307f\u8fbc\u307e\u308c\u3001\u300c<span style=\"color: #ff0000; font-weight: bold;\">Sample Tab<\/span>\u300d\u306b\u3042\u308b\u300c<span style=\"color: #ff0000; font-weight: bold;\">Sample Button<\/span>\u300d\u3082\u52d5\u4f5c\u3059\u308b\u3053\u3068\u304c\u78ba\u8a8d\u3067\u304d\u307e\u3059\u3002<\/p>\n<p><a href=\"\/\/www.ka-net.org\/blog\/wp-content\/uploads\/SharpDevelop_Excel_AddIn_12.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"\/\/www.ka-net.org\/blog\/wp-content\/uploads\/SharpDevelop_Excel_AddIn_12.jpg\" alt=\"SharpDevelop_Excel_AddIn_12\" width=\"625\" height=\"242\" class=\"alignnone size-full wp-image-5321\" srcset=\"https:\/\/www.ka-net.org\/blog\/wp-content\/uploads\/SharpDevelop_Excel_AddIn_12.jpg 625w, https:\/\/www.ka-net.org\/blog\/wp-content\/uploads\/SharpDevelop_Excel_AddIn_12-300x116.jpg 300w\" sizes=\"auto, (max-width: 625px) 100vw, 625px\" \/><\/a><\/p>\n<p><a href=\"\/\/www.ka-net.org\/blog\/wp-content\/uploads\/SharpDevelop_Excel_AddIn_13.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"\/\/www.ka-net.org\/blog\/wp-content\/uploads\/SharpDevelop_Excel_AddIn_13.jpg\" alt=\"SharpDevelop_Excel_AddIn_13\" width=\"626\" height=\"271\" class=\"alignnone size-full wp-image-5322\" srcset=\"https:\/\/www.ka-net.org\/blog\/wp-content\/uploads\/SharpDevelop_Excel_AddIn_13.jpg 626w, https:\/\/www.ka-net.org\/blog\/wp-content\/uploads\/SharpDevelop_Excel_AddIn_13-300x130.jpg 300w\" sizes=\"auto, (max-width: 626px) 100vw, 626px\" \/><\/a><\/p>\n<h4 class=\"style4a\">\u30a2\u30c9\u30a4\u30f3\u306e\u767b\u9332\u89e3\u9664\u65b9\u6cd5<\/h4>\n<p>\u30a2\u30c9\u30a4\u30f3\u306e\u767b\u9332\u3092\u89e3\u9664\u3059\u308b\u5834\u5408\u306f\u3001\u4e0b\u8a18\u306e\u3088\u3046\u306a\u4f5c\u696d\u3092\u884c\u3046\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002<\/p>\n<ol>\n<li>\u30ec\u30b8\u30b9\u30c8\u30ea\u30a8\u30c7\u30a3\u30bf\u3092\u8d77\u52d5\u3057\u3001\u30a2\u30c9\u30a4\u30f3\u767b\u9332\u6642\u306b\u8ffd\u52a0\u3057\u305f\u30ad\u30fc(\u4e0a\u8a18\u624b\u9806\u306e\u5834\u5408\u306f\u300c<span style=\"color: #ff0000; font-weight: bold;\">HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Office\\Excel\\Addins\\MySampleAddIn.Connect<\/span>\u300d\u30ad\u30fc)\u3092\u524a\u9664\u3057\u307e\u3059\u3002<\/li>\n<li>\u7ba1\u7406\u8005\u6a29\u9650\u3067\u30b3\u30de\u30f3\u30c9\u30d7\u30ed\u30f3\u30d7\u30c8\u3092\u8d77\u52d5\u3057\u307e\u3059\u3002<\/li>\n<li>\u300c<span style=\"color: #ff0000; font-weight: bold;\">RegAsm.exe<\/span>\u300d\u30d5\u30a1\u30a4\u30eb\u304c\u3042\u308b\u30d5\u30a9\u30eb\u30c0\u306b\u79fb\u52d5\u3057\u307e\u3059\u3002<\/li>\n<li>\u300c<span style=\"color: #ff0000; font-weight: bold;\">\/u<\/span>\u300d\u30aa\u30d7\u30b7\u30e7\u30f3\u3092\u4ed8\u3051\u3066RegAsm.exe\u3092\u5b9f\u884c\u3057\u3001DLL\u30d5\u30a1\u30a4\u30eb\u306e\u767b\u9332\u3092\u89e3\u9664\u3057\u307e\u3059\u3002<\/li>\n<pre class=\"brush: plain; title: ; notranslate\" title=\"\">RegAsm &quot;C:\\SharpDevelop Projects\\MySampleAddIn\\MySampleAddIn\\bin\\Debug\\MySampleAddIn.dll&quot; \/tlb \/u<\/pre>\n<p><a href=\"\/\/www.ka-net.org\/blog\/wp-content\/uploads\/SharpDevelop_Excel_AddIn_14.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"\/\/www.ka-net.org\/blog\/wp-content\/uploads\/SharpDevelop_Excel_AddIn_14.jpg\" alt=\"SharpDevelop_Excel_AddIn_14\" width=\"677\" height=\"492\" class=\"alignnone size-full wp-image-5323\" srcset=\"https:\/\/www.ka-net.org\/blog\/wp-content\/uploads\/SharpDevelop_Excel_AddIn_14.jpg 677w, https:\/\/www.ka-net.org\/blog\/wp-content\/uploads\/SharpDevelop_Excel_AddIn_14-300x218.jpg 300w\" sizes=\"auto, (max-width: 677px) 100vw, 677px\" \/><\/a>\n<\/ol>\n<h4 class=\"style4a\">\u53c2\u8003Web\u30da\u30fc\u30b8<\/h4>\n<ul>\n<li>Add-ins for Multiple Office Versions without PIAs<\/li>\n<li style=\"list-style-type:none;\"><a href=\"http:\/\/blogs.msdn.com\/b\/andreww\/archive\/2008\/06\/03\/add-ins-for-multiple-office-versions-without-pias.aspx\" target=\"_blank\" title=\"Add-ins for Multiple Office Versions without PIAs\">http:\/\/blogs.msdn.com\/b\/andreww\/archive\/2008\/06\/03\/add-ins-for-multiple-office-versions-without-pias.aspx<\/a><\/li>\n<li>Excel \u304b\u3089\u4f7f\u3046\u30de\u30cd\u30fc\u30b8DLL \u3092\u4f5c\u308b\u3002<\/li>\n<li style=\"list-style-type:none;\"><a href=\"http:\/\/supermab.com\/wp\/excel-%E3%81%8B%E3%82%89%E4%BD%BF%E3%81%86%E3%83%9E%E3%83%8D%E3%83%BC%E3%82%B8dll-%E3%82%92%E4%BD%9C%E3%82%8B%E3%80%82\/\" target=\"_blank\" title=\"Excel \u304b\u3089\u4f7f\u3046\u30de\u30cd\u30fc\u30b8DLL \u3092\u4f5c\u308b\u3002\">http:\/\/supermab.com\/wp\/excel-%E3%81%8B%E3%82%89%E4%BD%BF%E3%81%86%E3%83%9E%E3%83%8D%E3%83%BC%E3%82%B8dll-%E3%82%92%E4%BD%9C%E3%82%8B%E3%80%82\/<\/a><\/li>\n<li>Visual Studio .NET \u306b\u3088\u308b Office \u30de\u30cd\u30fc\u30b8 COM \u30a2\u30c9\u30a4\u30f3\u306e\u4f5c\u6210<\/li>\n<li style=\"list-style-type:none;\"><a href=\"https:\/\/msdn.microsoft.com\/ja-jp\/library\/dd313948.aspx\" target=\"_blank\" title=\"Visual Studio .NET \u306b\u3088\u308b Office \u30de\u30cd\u30fc\u30b8 COM \u30a2\u30c9\u30a4\u30f3\u306e\u4f5c\u6210\">https:\/\/msdn.microsoft.com\/ja-jp\/library\/dd313948.aspx<\/a><\/li>\n<li>\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3 \u30ec\u30d9\u30eb\u306e\u30a2\u30c9\u30a4\u30f3\u306e\u30ec\u30b8\u30b9\u30c8\u30ea \u30a8\u30f3\u30c8\u30ea<\/li>\n<li style=\"list-style-type:none;\"><a href=\"https:\/\/msdn.microsoft.com\/ja-jp\/library\/bb386106.aspx\" target=\"_blank\" title=\"\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3 \u30ec\u30d9\u30eb\u306e\u30a2\u30c9\u30a4\u30f3\u306e\u30ec\u30b8\u30b9\u30c8\u30ea \u30a8\u30f3\u30c8\u30ea\">https:\/\/msdn.microsoft.com\/ja-jp\/library\/bb386106.aspx<\/a><\/li>\n<li>\u3010NetOffice\u3011\u30ea\u30dc\u30f3\u306e\u5b9f\u88c5\u304b\u3089COM\u30c6\u30af\u30ce\u30ed\u30b8\u3092\u306e\u305e\u304d\u898b\u308b\u3002<\/li>\n<li style=\"list-style-type:none;\"><a href=\"http:\/\/pro.art55.jp\/?eid=1304126\" target=\"_blank\" title=\"\u3010NetOffice\u3011\u30ea\u30dc\u30f3\u306e\u5b9f\u88c5\u304b\u3089COM\u30c6\u30af\u30ce\u30ed\u30b8\u3092\u306e\u305e\u304d\u898b\u308b\u3002\">http:\/\/pro.art55.jp\/?eid=1304126<\/a><\/li>\n<li>IRibbonExtensibility.cs<\/li>\n<li style=\"list-style-type:none;\"><a href=\"https:\/\/github.com\/CaioProiete\/NetOffice\/blob\/master\/Source\/Office\/DispatchInterfaces\/IRibbonExtensibility.cs\" target=\"_blank\" title=\"IRibbonExtensibility.cs\">https:\/\/github.com\/CaioProiete\/NetOffice\/blob\/master\/Source\/Office\/DispatchInterfaces\/IRibbonExtensibility.cs<\/a><\/li>\n<li>IRibbonControl.cs<\/li>\n<li style=\"list-style-type:none;\"><a href=\"https:\/\/github.com\/CaioProiete\/NetOffice\/blob\/master\/Source\/Office\/DispatchInterfaces\/IRibbonControl.cs\" target=\"_blank\" title=\"IRibbonControl.cs\">https:\/\/github.com\/CaioProiete\/NetOffice\/blob\/master\/Source\/Office\/DispatchInterfaces\/IRibbonControl.cs<\/a><\/li>\n<\/ul>\n<h4 class=\"style4a\">\u304a\u308f\u308a\u306b<\/h4>\n<p>\u3068\u3044\u3046\u308f\u3051\u3067\u3001SharpDevelop\u3092\u4f7f\u3063\u3066COM\u30a2\u30c9\u30a4\u30f3\u3092\u4f5c\u6210\u3057\u3066\u307f\u307e\u3057\u305f\u3002<br \/>\n\u30ea\u30dc\u30f3UI\u306e\u5b9f\u88c5\u306b\u82e5\u5e72\u624b\u9593\u53d6\u308a\u307e\u3057\u305f\u304c\u3001\u53c2\u8003Web\u30da\u30fc\u30b8\u306e\u304a\u304b\u3052\u3067\u4f55\u3068\u304b\u89e3\u6c7a\u3067\u304d\u307e\u3057\u305f(\u52d5\u4f5c\u78ba\u8a8d\u3060\u3051\u3057\u305f\u304b\u3063\u305f\u306e\u3067\u3001\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30fc\u30b9\u306f\u304b\u306a\u308a\u9069\u5f53\u3067\u3059)\u3002<\/p>\n<p>.NET\u304b\u3089\u306eExcel\u4e91\u3005\u3068\u3044\u3046\u8a71\u306f\u3001\u6614\u3001COM\u53c2\u7167\u306e\u89e3\u653e\u3057\u5fd8\u308c\u3067\u30d7\u30ed\u30bb\u30b9\u304c\u6b8b\u308a\u7d9a\u3051\u308b\u554f\u984c\u3067\u82e6\u52b4\u3057\u305f\u899a\u3048\u304c\u3042\u308b\u306e\u3067\u3059\u304c\u3001\u5171\u6709\u30a2\u30c9\u30a4\u30f3\u306e\u5834\u5408\u306f\u3069\u3046\u306a\u3093\u3067\u3057\u3087\u3046\u2026\uff1f\u4e00\u5fdcOnDisconnection\u306bReleaseComObject\u3092\u5165\u308c\u307e\u3057\u305f\u304c\u3001\u3053\u306e\u3042\u305f\u308a\u306e\u201c\u304a\u4f5c\u6cd5\u201d\u306b\u3064\u3044\u3066\u306f\u3069\u3046\u3059\u308b\u306e\u304c\u4e00\u756a\u826f\u3044\u306e\u304b\u30a4\u30de\u30a4\u30c1\u5206\u304b\u308a\u307e\u305b\u3093(^^;<\/p>\n<p>\u307e\u305f\u3001RegAsm\u3067DLL\u3092\u767b\u9332\u3057\u305f\u308a\u89e3\u9664\u3057\u305f\u308a\u3001\u3068\u3044\u3046\u4f5c\u696d\u306f\u7d50\u69cb\u9762\u5012\u304f\u3055\u3044\u3067\u3059\u3002<br \/>\n4\u5e74\u307b\u3069\u524d\u306b\u3053\u306e\u4f5c\u696d\u3092\u7c21\u7565\u5316\u3059\u308b\u305f\u3081\u306e\u30b9\u30af\u30ea\u30d7\u30c8\u3092\u66f8\u3044\u305f\u3053\u3068\u304c\u3042\u308b\u306e\u3067\u3001\u8208\u5473\u304c\u3042\u308b\u65b9\u306f\u4e0b\u8a18\u8a18\u4e8b\u3082\u3054\u89a7\u304f\u3060\u3055\u3044\u3002<\/p>\n<p><strong>\u30fb\u30c9\u30e9\u30c3\u30b0\u3055\u308c\u305f\u30de\u30cd\u30fc\u30b8\u30c9DLL\u3092RegAsm\u3067\u767b\u9332\u3059\u308b\u30b9\u30af\u30ea\u30d7\u30c8<\/strong><br \/>\n<a href=\"https:\/\/kinuasa.wordpress.com\/2011\/04\/07\/%E3%83%89%E3%83%A9%E3%83%83%E3%82%B0%E3%81%95%E3%82%8C%E3%81%9F%E3%83%9E%E3%83%8D%E3%83%BC%E3%82%B8%E3%83%89dll%E3%82%92regasm%E3%81%A7%E7%99%BB%E9%8C%B2%E3%81%99%E3%82%8B%E3%82%B9%E3%82%AF%E3%83%AA\/\" title=\"\u30c9\u30e9\u30c3\u30b0\u3055\u308c\u305f\u30de\u30cd\u30fc\u30b8\u30c9DLL\u3092RegAsm\u3067\u767b\u9332\u3059\u308b\u30b9\u30af\u30ea\u30d7\u30c8 | \u521d\u5fc3\u8005\u5099\u5fd8\u9332\" target=\"_blank\">https:\/\/kinuasa.wordpress.com\/2011\/04\/07\/%E3%83%89%E3%83%A9%E3%83%83%E3%82%B0%E3%81%95%E3%82%8C%E3%81%9F%E3%83%9E%E3%83%8D%E3%83%BC%E3%82%B8%E3%83%89dll%E3%82%92regasm%E3%81%A7%E7%99%BB%E9%8C%B2%E3%81%99%E3%82%8B%E3%82%B9%E3%82%AF%E3%83%AA\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"\u300cSharpDevelop\u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3068\u65e5\u672c\u8a9e\u5316\u300d\u3067\u7d39\u4ecb\u3057\u3066\u3044\u308bSharpDevelop\u306b\u306f\u3001COM\u30a2\u30c9\u30a4\u30f3\u3092\u4f5c\u308b\u305f\u3081\u306e\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u304c\u7528\u610f\u3055\u308c\u3066\u3044\u308b\u306e\u3067\u3001Office\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3067\u4f7f\u3048\u308bCOM\u30a2\u30c9\u30a4\u30f3\u3092\u7c21\u5358\u306b\u958b\u767a\u3059 [&hellip;]","protected":false},"author":1,"featured_media":7111,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"\u6b63\u76f4\u3001\u7d20\u76f4\u306bVSTO\u4f7f\u3063\u305f\u65b9\u304c\u697d\u3060\u3068\u601d\u3044\u307e\u3057\u305f\u3002 [SharpDevelop\u3067Excel\u7528COM\u30a2\u30c9\u30a4\u30f3\u3092\u4f5c\u6210\u3059\u308b\u65b9\u6cd5]","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[4,48],"tags":[],"class_list":["post-5309","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-office","category-excel-office"],"aioseo_notices":[],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"https:\/\/www.ka-net.org\/blog\/wp-content\/uploads\/eyecatch-Excel.png","jetpack_shortlink":"https:\/\/wp.me\/p4UZZr-1nD","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.ka-net.org\/blog\/index.php?rest_route=\/wp\/v2\/posts\/5309","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.ka-net.org\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.ka-net.org\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.ka-net.org\/blog\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ka-net.org\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=5309"}],"version-history":[{"count":3,"href":"https:\/\/www.ka-net.org\/blog\/index.php?rest_route=\/wp\/v2\/posts\/5309\/revisions"}],"predecessor-version":[{"id":6256,"href":"https:\/\/www.ka-net.org\/blog\/index.php?rest_route=\/wp\/v2\/posts\/5309\/revisions\/6256"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.ka-net.org\/blog\/index.php?rest_route=\/wp\/v2\/media\/7111"}],"wp:attachment":[{"href":"https:\/\/www.ka-net.org\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=5309"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.ka-net.org\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=5309"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.ka-net.org\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=5309"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}