アドインの開発方法について

本文上広告1



アドインの開発に必要な手法・言語と、UIについて

手法・言語

VBAアドイン, VSTOアドイン, Officeアドイン, XLLアドインにおいて、アドインを開発するにための言語が異なります。

メリット・デメリットも異なります。私の場合、どこにどれだけ投資するか、能力、リリースしたのちの運用の方法、要求仕様により決定します。

むしろ,Officeアドインは、必要な人材が異なるという感じがします。Web系の人材を取り込みたい感じや、はやりにがするのですが、いまいち複雑な感が否めません。

VBAアドイン

専用のソフト(VisualStudio)でのビルド等の作業が不必要です。VBAはVBをApplication上で走らせるための言語です。プログラミング言語のコードをWord,Excel,PPT(等のOffice)上で解釈して,操作を自動化・プログラミング・計算することが可能です。下記のVBAでTDDと合わせると効果的と思います。

VBAでTDD

VBAテストツール”VBA-TDD”が公開されており、VBAでもテスト可能です。
別のツールAriawaseでも、使い方もあり機会があれば使いたいと考えております。

したいこと VBAでTDDしたい。 VBAで単体テストを行いたい。 VBAでテスト駆動開発をしたい。 結論 VBA-TDDを使...
したいこと VBAでTDDしたい。 VBAで単体テストを行いたい。 VBAでテスト駆動開発をしたい。 これは、VBAのコードのメ...

VSTOアドイン

専用のソフト(VisualStudio)を使用して、言語はC#やVB.NETで作成します。C#やVB.NETは一般的なソフト(.exe)を作成するために使用され、様々なシーンで使用されています。最近ではAndroid/iPhoneのソフトをC#で共通に作成できるような開発環境も用意されています。
個人的にはVisualStudioのテストコード作成が大きいと感じています。ソフトのバグチェックを自動化できます。下記に書いていますが、リボン以下の部分はVMやMに近い部分があり、
Officeの各DLLを参照するのに名前等が異なるだけでModel化しておけば、
共通で開発可能ではと考えています。

Officeアドイン

専用のソフト(VisualStudio)を使用して、言語はHTML、CSS、および JavaScript などの一般的な Web テクノロジを使用し作成します。Office アドイン プラットフォームの概要を参照。ただし、現在まだ機能制限がある様子。

XLLアドイン

専用のソフト(VisualStudio)を使用して、言語はC++で作成します。
C++ はC#以前から使用されています。一般的なソフト(.exe)を作成するために用いられてきました。エクセルで言えば、高速なエクセルの関数そのものもこの方式により作成可能です。

手法の概要

開発手法 要点
VBA 手軽,開発環境不要,編集容易,参考ページ・書籍多い。言語:VB
VSTO  参照できる技術の蓄積が多い。作成・編集に開発環境必要。言語:VB.Net,C#,VC++
OFFICE 近年参照できる技術が増えてきた(Web)がまだ制限あり。公開・配布等が少し難あり。
XLL 参考資料少ない。ただし、高速。

UIについて

近年各手法に共通のリボンUIの作成方法も参考になります。リボンUI ⇒ 各手法・各言語の関数を呼び出し可能です。UIはXAML(XML)みたいなリボンを用いれば、すべてに共通で可能。(リボンUIも一つの言語です。)

インストールについて

VBAアドイン

VBAアドインは、この記事を参照

VSTOアドイン

VSTOアドインには3通りあり、

ClickOnceは一度も使用したことがないので、私的には要調査です。あまりインストーラをカスタマイズできない雰囲気はします。

インストーラの作成ツールとしては、次の4種類あり、私は主にWixで作成。時間があれば、Visual Studio 20XXインストーラ・ClickOnceも試したいです。Wixのメリットは、コードのような形で、インストーラを細かに記述できるのがよいと感じています。

  • Install Shield(有料)
  • Microsoft Visual Studio 20?? Installer(無料)
  • Wix (無料)
  • ClickOnce (無料)

あとは、インストールにかんしては、認証のお話かな。ここら辺ももう少し調査したい。やり方は何となくわかるんだが、個人でやるには高い。。

XLLアドイン

現在、よくわからない。調査中。

Officeアドイン

サイドロードとAppStoreで公開します。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする