アドインの開発に必要な手法・言語と、UIについて
Contents
手法・言語
VBAアドイン, VSTOアドイン, Officeアドイン, XLLアドインにおいて、アドインを開発するにための言語が異なります。
メリット・デメリットも異なります。私の場合、どこにどれだけ投資するか、能力、リリースしたのちの運用の方法、要求仕様により決定します。
むしろ,Officeアドインは、必要な人材が異なるという感じがします。Web系の人材を取り込みたい感じや、はやりにがするのですが、いまいち複雑な感が否めません。
VBAアドイン
専用のソフト(VisualStudio)でのビルド等の作業が不必要です。VBAはVBをApplication上で走らせるための言語です。プログラミング言語のコードをWord,Excel,PPT(等のOffice)上で解釈して,操作を自動化・プログラミング・計算することが可能です。下記のVBAでTDDと合わせると効果的と思います。
VBAでTDD
VBAテストツール”VBA-TDD”が公開されており、VBAでもテスト可能です。
別のツールAriawaseでも、使い方もあり機会があれば使いたいと考えております。
VSTOアドイン
専用のソフト(Visual Studio)を使用して、言語はC#やVB.NETで作成します。C#やVB.NETは一般的なソフト(.exe)を作成するために使用され、様々なシーンで使用されています。最近ではAndroid/iPhoneのソフトをC#で共通に作成できるような開発環境も用意されています。
個人的にはVisualStudioのテストコード作成が大きいと感じています。ソフトのバグチェックを自動化できます。下記に書いていますが、リボン以下の部分はVMやMに近い部分があり、
Officeの各DLLを参照するのに名前等が異なるだけでModel化しておけば、
共通で開発可能ではと考えています。
(*) 以前はC#が得意であったためにVSTOプラットフォームでの開発を採用していましたが、VSTOプラットフォームでの開発が今後.net 5以降はMSでサポートされないとのこと。 当サイトでは、2021 10月以降はOfficeアドインでの開発へ軸足を移していきたいと思います。
VSTOでの開発方法
VSTOプラットフォームでの開発方法はこちらを中心に参照。
VSTOプラットフォームの .Net対応について
Windowsで標準となっていく.net 。今後、VSTOは .net 5 以降はサポートされないとのこと。⇒少し将来性に陰りかと。。下記、記事を参照下さい。
Officeアドイン
専用のソフト(VisualStudio or VS Code)を使用して、言語はHTML、CSS、および JavaScript などの一般的な Web テクノロジを使用し作成します。Office アドイン プラットフォームの概要を参照。
Officeアドインの作り方も公開し始めました。(2021 10月より) 数年前に調査した時よりも格段に作成しやすい環境が構築されています。
XLLアドイン
専用のソフト(VisualStudio)を使用して、言語はC++で作成します。
C++ はC#以前から使用されています。一般的なソフト(.exe)を作成するために用いられてきました。エクセルで言えば、高速なエクセルの関数そのものもこの方式により作成可能です。
手法の概要
開発手法 | 要点 |
VBA | 手軽,開発環境不要,編集容易,参考ページ・書籍多い。 言語:VB |
VSTO | 参照できる技術の蓄積が多い。作成・編集にVisual Studioの開発環境必要。 言語:VB.Net,C#,VC++ |
OFFICE | 近年参照できる技術が増えてきた(Webアプリとして)。 Webアプリに対する前提知識、コマンドプロンプト等の扱いも慣れておく必要があるかもしれません。 公開・配布等が少し注意が必要かも。 言語: Javascript, Html, CSS |
XLL | 参考資料少ない。ただし、高速。 |
UIについて
近年各手法に共通のリボンUIの作成方法も参考になります。リボンUI ⇒ 各手法・各言語の関数を呼び出し可能です。UIはXAML(XML)みたいなリボンを用いれば、すべてに共通で可能。(リボンUIも一つの言語です。)
インストールについて
VBAアドイン
VBAアドインは、この記事を参照
VSTOアドイン
VSTOアドインには3通りあり、
- .msiを作成する方法(私はこちらを採用しています。)
- メニュー⇒開発⇒COMアドインからする方法。(ワレコさんのこの記事を参照)
- ClickOnceによる配置
ClickOnceは一度も使用したことがないので、私的には要調査です。あまりインストーラをカスタマイズできない雰囲気はします。
インストーラの作成ツールとしては、次の4種類あり、私は主にWixで作成。時間があれば、Visual Studio 20XXインストーラ・ClickOnceも試したいです。Wixのメリットは、コードのような形で、インストーラを細かに記述できるのがよいと感じています。
- Install Shield(有料)
- Microsoft Visual Studio 20?? Installer(無料)
- Wix (無料)
- ClickOnce (無料)
あとは、インストールにかんしては、認証のお話かな。ここら辺ももう少し調査したい。やり方は何となくわかるんだが、個人でやるには高い。。
XLLアドイン
現在、よくわからない。調査中。
Officeアドイン
サイドロードとAppStoreで公開します。