» 2011 » 6月のブログ記事


VS2010(VB.NET)でVSTOを使ってOffice2010のアドインを作成した。
ClickOnceではなく、Windowsインストーラーでセットアップファイルを作成する上での注意点

(1)VS2008(VSTO v3)系以前のWEBサイトの情報を適用してはダメ

参考にすべきサイト
(1-1)概要
Windows インストーラーを使用した Office ソリューションの配置
http://msdn.microsoft.com/ja-jp/library/cc442767(v=VS.100).aspx

(1-2)サンプルを使った作成例(英語)
Deploying a Visual Studio 2010 Tools for Office Solution Using
Windows Installer
http://msdn.microsoft.com/en-us/vsto/ff937654.aspx

VSTOによるアドイン作成環境は、以前のバージョンより格段に簡単になりました。
従前の煩わしさがかなり改善されていますが、まだまだ通常のWindows Formアプリのように簡単にセットアッププロジェクトを作成することはできません。

VS2010環境でアドインを作成し、Windowsインストーラーでセットアップファイルをつくろうとすると、私を含め初心者は壁に当たります。
VS2010+Windowsインストーラーの環境での情報は少ない(ほぼ皆無)ので、従前のバージョンを参考にしようとしてしまいますが、これはタブーです。VS2010(VSTO v4)環境の説明でない限り無視した方が近道です。
上記(1),(2)の方法で動くことは確かなので、動かない場合は、次の点をチェック!

(2).NetFramework4.0を使ってアドイン作成してダメ
.NET Framework4.0でアドインを作成すると、インストールしてもLoadされません。
.NET Framework4.0 Client ProfileはOK
.NET Framework3.5もOK
その他は試していない。

(3)VSTO Runtimeはユーザーがインストールする必要がある。
セットアッププロジェクトの必須コンポーネントには、VSTO RuntimeのLanguagePackは指定できるが、Runtimeは指定できない。
上記(1-2)のサンプルでも示されているように、起動条件でVSTO Runtimeの存在を確認し、ない場合は警告を出すことができるが、RuntimeのDownloadとインストールはユーザーが行う必要がある。

私の環境だけかもしれないが参考まで…


Word2010でステータスバーにセクション番号とセクション内でのページを設定する。

前述したように、Word2003以降では、印刷する際にページ番号をセクション番号付きで使用することができる。
通しのページ番号は、ステータスバーに表示されているが、セクション番号とセクション内でのページ番号は初期状態では表示されていない。

これではページ指定でセクション番号を指定するのが面倒くさいではないか。

というわけで、セクション番号とセクション番号内でのページ番号をステータスバーに表示してみる。

(1)ステータスバーのあいているところをクリックする(Fig.1)


Fig.1 デフォルトのステータスバー

(2)コンテキストメニューが表示されるので、該当項目を有効にする(Fig.2)


Fig.2 表示されるコンテキストメニュー

(3)画面にセクション番号等が表示されることを確認する(Fig.3)


Fig.3 変更後のステータスバー

これだけ。


VSTO(Visual Studio Tools for Office)を利用しており、現在、Word2010用のアドインを作成している。
デバッグの際に途中でエラーが発生し、デバッグを中止すると、次回のデバッグする際に警告メッセージが出てくる(Fig.1)

Fig.1 デバッグ時に表示されるエラー

この、メッセージで「はい」を選択すると、二度とこのアドインは、使えなくなってしまう。

そして使えなくなってしまった。

なんとか回復を試みようと、Wordのアドイン管理を見ると、確かに無効なアドインとして表示されている(Fig.2)。

Fig.2 Word2010のアドイン管理画面

Word2010のアドイン管理画面は、
「ファイル」→「オプション」→「アドイン」
で表示することができる。

さて、何とかならものかと考え、Fig.2の画面下に設定ボタンがある。
これをクリックしてみると、COMアドインの一覧が表示される(Fig.3)。

Fig.3 Word2010のCOMアドインの一覧

おお、「これを有効にすれば元に戻るな!」と思い、該当する箇所を有効にしてOKをクリック。

変化がない。
もう一度、Fig.3の画面を確認すると、有効にしたはずのアドインが無効のままだ。
何度やっても変化しない。

そして諦める。

仕方がないので、別の方法を考える。
現在のアドインプロジェクトをソリューションエクスプローラーから「クリーン」をし、アドインプロジェクトのプロパティでアセンブリのバージョンを変更してみる。
やはり何ら変わりはない。

GUID(アプリ固有の識別子のはず)を変更すればきっと治る予感がするが、GUIDの値をどのように変えたらいいのかわからないからこの方法は諦める。

そしてアセンブリ名を変更してみる。
とりあえず動くようになった。

しっくりこないが、何もできないよりはマシなので、当面はこれで凌ごう。

参考にしたサイト



http://msdn.microsoft.com/ja-jp/library/ms268871(VS.80).aspx

ブログ検索

ブログカレンダー

2011年6月
    7月 »
 1234
567891011
12131415161718
19202122232425
2627282930  

Yahoo!ショッピング

アクセスカウンタ

  • 本日(回): 19
  • 週間(回): 152
  • 合計(回): 452217

Since 2011/07/01