<?xml version="1.0" encoding="UTF-8" ?> <rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>Office</title><link>http://blogs.wankuma.com/fnya/category/1599.aspx</link><description>Office</description><managingEditor>fnya</managingEditor><dc:language>ja-JP</dc:language><generator>.Text Version 0.95.2004.102</generator><item><dc:creator>fnya</dc:creator><title>Excel 2007 で Excel 2003 の色で塗りつぶしをできるアドインを作成しました</title><link>http://blogs.wankuma.com/fnya/archive/2009/03/02/169073.aspx</link><pubDate>Mon, 02 Mar 2009 12:25:00 GMT</pubDate><guid>http://blogs.wankuma.com/fnya/archive/2009/03/02/169073.aspx</guid><wfw:comment>http://blogs.wankuma.com/fnya/comments/169073.aspx</wfw:comment><comments>http://blogs.wankuma.com/fnya/archive/2009/03/02/169073.aspx#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://blogs.wankuma.com/fnya/comments/commentRss/169073.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/fnya/services/trackbacks/169073.aspx</trackback:ping><description>&lt;p&gt;Excel 2007 で Excel 2003 の色で塗りつぶしをできる、簡単な Excel アドインを作成して以下で公開してみました。&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;a href="http://fnya.cocolog-nifty.com/blog/2009/03/excel-2003-exce.html"&gt;あるＳＥのつぶやき: Excel 2003 カラーパレット － Excel 2007 で Excel 2003 カラーを簡単に使用できる Excel アドイン&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;オープンソースの MIT ライセンスで公開していますので、よろしければどうぞ。&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;div class="wlWriterEditableSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:6d2a3682-c2f8-4f93-8db4-dc3ec344a3d7" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Tags: &lt;a href="http://b.hatena.ne.jp/t/Excel2007" rel="tag"&gt;Excel2007&lt;/a&gt;&lt;/div&gt;&lt;img src ="http://blogs.wankuma.com/fnya/aggbug/169073.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>fnya</dc:creator><title>VSTOの解説記事</title><link>http://blogs.wankuma.com/fnya/archive/2008/05/26/139386.aspx</link><pubDate>Mon, 26 May 2008 10:27:00 GMT</pubDate><guid>http://blogs.wankuma.com/fnya/archive/2008/05/26/139386.aspx</guid><wfw:comment>http://blogs.wankuma.com/fnya/comments/139386.aspx</wfw:comment><comments>http://blogs.wankuma.com/fnya/archive/2008/05/26/139386.aspx#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://blogs.wankuma.com/fnya/comments/commentRss/139386.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/fnya/services/trackbacks/139386.aspx</trackback:ping><description>&lt;p&gt;&lt;a href="http://codezine.jp/a/article/aid/2481.aspx"&gt;Visual Studio Tools for Officeで作るOfficeアプリケーション：CodeZine&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://fnya.cocolog-nifty.com/blog/2008/05/vsto_1d82.html"&gt;こちら&lt;/a&gt;でも書きましたが、CodeZineのVSTO解説記事がいい感じです。&lt;/p&gt; &lt;p&gt;基本的なことから、VSTOで作成したクラスをVBAに公開する方法などは参考になります。&lt;/p&gt; &lt;p&gt;あと、VSTOを専門に扱うブログがありますのでこちらもご参考に。&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;a href="http://blogs.msdn.com/saikik/default.aspx"&gt;VSTO みちしるべ ～道標～&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:77d87a09-d813-4a3e-aa41-3e1df916d667" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Tags: &lt;a href="http://b.hatena.ne.jp/t/VSTO" rel="tag"&gt;VSTO&lt;/a&gt;, &lt;a href="http://b.hatena.ne.jp/t/.NET" rel="tag"&gt;.NET&lt;/a&gt;, &lt;a href="http://b.hatena.ne.jp/t/Office" rel="tag"&gt;Office&lt;/a&gt;&lt;/div&gt;&lt;img src ="http://blogs.wankuma.com/fnya/aggbug/139386.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>fnya</dc:creator><title>[VSTO]Office2003アプリではClickOnceは使えないらしい</title><link>http://blogs.wankuma.com/fnya/archive/2008/02/13/122924.aspx</link><pubDate>Wed, 13 Feb 2008 00:12:00 GMT</pubDate><guid>http://blogs.wankuma.com/fnya/archive/2008/02/13/122924.aspx</guid><wfw:comment>http://blogs.wankuma.com/fnya/comments/122924.aspx</wfw:comment><comments>http://blogs.wankuma.com/fnya/archive/2008/02/13/122924.aspx#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://blogs.wankuma.com/fnya/comments/commentRss/122924.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/fnya/services/trackbacks/122924.aspx</trackback:ping><description>&lt;p&gt;Visual Studio 2008 に付属しているVSTOでは、Office2003アプリではClickOnceは使えないようです。&lt;/p&gt; &lt;p&gt;これはちょっと驚きました。&lt;/p&gt; &lt;p&gt;VSTOでOffice2003アプリを作った場合は、Visual Studio Tools for Office&amp;nbsp; 2005 Second Editionがランタイムになるようなので、それが理由かもしれません。&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:94561774-75b2-4910-9607-bfb85063f6cd" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;&lt;a href="http://b.hatena.ne.jp/t/VSTO" rel="tag"&gt;VSTO&lt;/a&gt;,&lt;a href="http://b.hatena.ne.jp/t/.NET" rel="tag"&gt;.NET&lt;/a&gt;,&lt;a href="http://b.hatena.ne.jp/t/Office" rel="tag"&gt;Office&lt;/a&gt;&lt;/div&gt;&lt;img src ="http://blogs.wankuma.com/fnya/aggbug/122924.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>fnya</dc:creator><title>[VSTO]VSTOからのExcel呼び出しはやっぱりCOMっぽい &lt;- ちょっと違う</title><link>http://blogs.wankuma.com/fnya/archive/2008/01/14/117356.aspx</link><pubDate>Mon, 14 Jan 2008 16:46:00 GMT</pubDate><guid>http://blogs.wankuma.com/fnya/archive/2008/01/14/117356.aspx</guid><wfw:comment>http://blogs.wankuma.com/fnya/comments/117356.aspx</wfw:comment><comments>http://blogs.wankuma.com/fnya/archive/2008/01/14/117356.aspx#Feedback</comments><slash:comments>3697</slash:comments><wfw:commentRss>http://blogs.wankuma.com/fnya/comments/commentRss/117356.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/fnya/services/trackbacks/117356.aspx</trackback:ping><description>&lt;p&gt;&lt;a href="http://blogs.wankuma.com/fnya/archive/2008/01/09/116696.aspx"&gt;こちら&lt;/a&gt;のエントリーで、VSTOからExcel2007を操作する方法がCOMっぽいと書いたのですが、やっぱりCOM経由のようですね。&lt;/p&gt; &lt;p&gt;MSDNオンラインイベントで、VSTOを使用してExcel2007を操作するサンプルがあるのですが、これは以下の名前空間を利用してExcel2007を操作しています。動作も確認済みです。&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;using Excel = Microsoft.Office.Interop.Excel;&lt;br&gt;using Office = Microsoft.Office.Core;  &lt;p&gt;『&lt;a href="http://www.microsoft.com/japan/msdn/office/learning/code/vsto_develop.aspx"&gt;Visual Studio 2008 による the 2007 Microsoft Office sysrem 開発概要&lt;/a&gt;』より&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;一方、.NETからCOM経由でExcel2007を操作するには、参照設定で「Microsoft Excel 12.0 Object Library」を追加しますが、その際追加される参照は以下のものになります。&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Microsoft.Office.Core  &lt;li&gt;Microsoft.Office.Interop.Excel  &lt;li&gt;VBIDE&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;VSTOと同じですね。&lt;/p&gt; &lt;p&gt;ですので、VSTOでExcel操作する場合も、COM経由でExcel操作する場合も、同じようにCOMを使用していると思われます。VSTOで「Microsoft Excel 12.0 Object Library」を参照追加したら、重複エラーになりましたし。&lt;/p&gt; &lt;p&gt;実際、Excel.Sheetオブジェクトを渡して処理する関数を作成したのですが、VSTOでもCOMでも同じプログラムでExcelを操作できました。&lt;/p&gt; &lt;p&gt;それで何が気になるかというと、COM経由でExcelを操作した場合は参照を必ず解放する必要があるかということです。&lt;/p&gt; &lt;ul&gt; &lt;li&gt;[参考]&lt;a href="http://jeanne.wankuma.com/tips/programing/releasecom.html"&gt;COM オブジェクトの参照カウントを解放する&lt;/a&gt;(C#,VB.NET入門)&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;del&gt;VSTOでもCOM経由でExcelを呼び出していると思われるので、参照は解放する必要があると思われます。&lt;/del&gt;&lt;/p&gt; &lt;p&gt;&lt;del&gt;MSDNオンラインイベントのサンプルでは参照の解放は記述されていませんが、ちょっと注意したい内容ですね。&lt;/del&gt;&lt;/p&gt; 
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;
(2008.2.10追記)&lt;br/&gt;
もしかしたらVSTOの場合は、インターフェースはCOMと同じですが参照の解放は違うのかもしれません。この辺はまだよく分からないので、今後調べていこうと思います。
&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;
(2008.2.10さらに追記)&lt;br/&gt;
こんな情報を発見しました。
&lt;/p&gt;
&lt;p&gt;
&lt;blockquote&gt;
&lt;p&gt; 本回答のために「COM オブジェクトを解放する」という Tips を書きましたが、あの記事では、適正を持っていないと (?) 'どんな時に解放漏れが起きるのか' が、わからない (?) みたいです。
(連続したオブジェクトへのパス、コレクションから要素を取り出す時、だけ注意するだけなのですけどね...)&lt;/p&gt;

&lt;p&gt;私の場合、どうしても使いたい場合は、VSTO か VBA 側のマクロで対応するでしょう。&lt;/p&gt;
&lt;p&gt;Excel、COM、解放、参照カウント、デクリメント...&lt;br/&gt;
ttp://blogs.wankuma.com/jeanne/archive/2006/07/25/33568.aspx&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;Compared with other platforms for creating Outlook add-ins, VSTO 2005 provides these advantages&lt;/p&gt;

&lt;p&gt;・Graceful add-in shutdown without the need to explicitly manage all COM object references&lt;/p&gt;
&lt;p&gt;Outlook Add-ins with Visual Studio Tools for Office&lt;br/&gt;
ttp://www.outlookcode.com/article.aspx?id=42&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;.NET developers often struggled. Their code had to deal with the way Office maintained object lifetimes and they had to contend with lots of COM plumbing. In addition, the managed code solution was limited to running outside the process of the Office application. What was missing was a layer between the PIAs and the developer’s custom application. Microsoft Visual Studio Tools for Office (VSTO) fills that gap. Visual Studio Tools for Office extends the Visual Studio environment to support the development of managed code solutions for Microsoft Office.&lt;/p&gt;

&lt;p&gt;SpringerLink - 書籍の章&lt;br/&gt;
ttp://www.springerlink.com/content/g2r8076888012760/&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/p&gt;

&lt;p&gt;ふーむ。VSTO2005の時点からCOM参照の解放は必要なくなっているように見えます。&lt;/p&gt;

&lt;p&gt;ExcelでVSTOのサンプルアプリケーションを作成していますが、確かにCOM参照の解放なしでもExcelプロセスは残っていませんし。&lt;/p&gt;

&lt;p&gt;
まだこれが答えだとは言い切れませんが、MicrosoftのVSTOサンプルにCOM参照の解放がないのはこれが理由なのかもしれませんね。
&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;
(2008.2.10さらに追記)&lt;br/&gt;
ようやく分かりました。VSTOでは「PIA：Primary Interop Assembly：プライマリ相互運用アセンブリ」という仕組みを使って、OfficeのCOMをマネージ・コードでラップするため、COM参照の解放をしなくてもいいようになっているんですね。&lt;/p&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;blockquote&gt;
&lt;p&gt;Office 2003 アドイン用の.NETアセンブリは、この.NET Frameworkのテクノロジが利用できるという点で、従来のOfficeマネージCOMアドインとは異なるものである。Office 2003用の.NETアセンブリを作成するには、Visual Studio .NET 2003用のプロジェクト・テンプレートである「Visual Studio Tools for the Microsoft Office System（以降、VSTO）」を使う必要がある。&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.atmarkit.co.jp/fwin2k/techreview/off2003dotnet/off2003dotnet_01.html"&gt;Office 2003で変わる業務アプリケーション － ＠IT&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;従来からOffice COMアドインを使うことができたが、Office 2003で追加されたVSTOソリューションを使うことで、Office Systemソリューションをマネージ・コード拡張することができる。&lt;/p&gt;

&lt;p&gt;VSTOは「VBA」用のCOM APIを.NET言語で利用できるようにマネージ・コードでラップしたもの（これを「PIA：Primary Interop Assembly：プライマリ相互運用アセンブリ」と呼ぶ）を使って（インポートして）開発を行うものである。&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.atmarkit.co.jp/fdotnet/special/vstodev/vstodev_01.html"&gt;＠IT：特集 .NET言語による次世代Officeソリューションの開発&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;■参考サイト&lt;/strong&gt;&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;a href="http://jeanne.wankuma.com/tips/excel/"&gt;[C#][VB]Excel との連携に関する Tips&lt;/a&gt;(C#,VB.NET入門)&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;strong&gt;■関連エントリー&lt;/strong&gt;&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;a href="http://blogs.wankuma.com/fnya/archive/2008/01/09/116696.aspx"&gt;Visual Studio Tools for Office + Office 2007はかなりいい感じ&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:1aebdb41-d9af-4041-91a5-99354147c60e" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;&lt;a href="http://b.hatena.ne.jp/t/.NET" rel="tag"&gt;.NET&lt;/a&gt;,&lt;a href="http://b.hatena.ne.jp/t/VSTO" rel="tag"&gt;VSTO&lt;/a&gt;,&lt;a href="http://b.hatena.ne.jp/t/Excel" rel="tag"&gt;Excel&lt;/a&gt;&lt;/div&gt;&lt;img src ="http://blogs.wankuma.com/fnya/aggbug/117356.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>fnya</dc:creator><title>Visual Studio Tools for Office + Office 2007はかなりいい感じ</title><link>http://blogs.wankuma.com/fnya/archive/2008/01/09/116696.aspx</link><pubDate>Wed, 09 Jan 2008 22:23:00 GMT</pubDate><guid>http://blogs.wankuma.com/fnya/archive/2008/01/09/116696.aspx</guid><wfw:comment>http://blogs.wankuma.com/fnya/comments/116696.aspx</wfw:comment><comments>http://blogs.wankuma.com/fnya/archive/2008/01/09/116696.aspx#Feedback</comments><slash:comments>1614</slash:comments><wfw:commentRss>http://blogs.wankuma.com/fnya/comments/commentRss/116696.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/fnya/services/trackbacks/116696.aspx</trackback:ping><description>&lt;p&gt;Visual Studio 2008からは、Visual Studio Tools for Office(VSTO)が &lt;br/&gt;
Professional Editionにも追加されたのでExcel2007を使って調べ始めていますが、&lt;br/&gt;
これはかなーりいいですね。&lt;/p&gt;
&lt;p&gt;VSTOがClickOnceに対応したのはもちろんのこと、Ribbonインターフェースも&lt;br/&gt;
簡単に作れるし、カスタムタスクペインも思ったより使えそうです。&lt;/p&gt;
&lt;p&gt;まだ実環境では確認できていませんが、Office2003にカスタムタスクペインが&lt;br/&gt;
作成できないのは大変残念。&lt;/p&gt;
&lt;p&gt;あと、VSTOは.NETなのにExcelの操作は思いっきりCOMっぽいのが微妙な感じ（笑）。&lt;/p&gt;
&lt;p&gt;でも、VSTO + Office 2007はかなり大きな可能性を感じます。&lt;/p&gt;
&lt;p&gt;Office Business Application(OBA)いいかも。&lt;/p&gt;&lt;img src ="http://blogs.wankuma.com/fnya/aggbug/116696.aspx" width = "1" height = "1" /&gt;</description></item></channel></rss>