Skip to content

MS_ExcelAddIn

nishi_74322014 edited this page Aug 31, 2026 · 1 revision

Excelアドイン

概要

一般的には VBA で開発するが、最近は、Node.js でも開発できるらしい。

詳細

VBA

ネット上に情報が多々ある。

補足(VBA アドインの形態): VBA で作るアドインには、

  • .xlam(Excel アドイン) — マクロやユーザー定義関数をブックから分離して配布する形式
  • .xll(XLL アドイン) — C / C++ で作るネイティブ アドイン(高速だが敷居が高い)

があり、EUC の文脈で使われるのはほぼ前者。

VSTO

補足(VSTO が「廃れた」理由の整理): 著者の評価は妥当で、
現在も VSTO は保守のみ・新規開発は非推奨という位置づけにある。
理由は、VBAは何故、最強EUCツールなのか?
挙げられている EUC の条件を、VSTO がことごとく満たさなかったことにある。

  • ビルドが必要(Visual Studio が要る)
  • 配布が必要(インストーラ、ClickOnce、証明書)
  • Windows デスクトップ版の Excel でしか動かない(Web / Mac は不可)

著者の言う「EUC 的な良さが無くなったが、プロフェッショナル・ツールでもなかった」
という中途半端さが、そのまま普及しなかった理由になっている。

Node.js

  • Node.js

  • 最近の MS 公式リファレンスはコレ。

  • ただ、ホントに EUC なのか?と疑問。

移行メモ(正確には「Office アドイン」): ここで言う「Node.js で開発するアドイン」は、
正式には Office アドイン(Office Add-ins) と呼ばれるもので、
HTML / JavaScript(TypeScript)と Office.js API で作り、
Excel 内の WebView 上で動作する。
Node.js は開発時のツールチェーン(Yeoman ジェネレータ、ローカル サーバ、ビルド)
として使われるのであって、Node.js がアドインの実行環境になるわけではない

この方式の利点は、Windows / Mac / Web / iPad の Excel で同じアドインが動くことで、
VSTO が満たせなかったクロスプラットフォーム要件に応えている。
一方、著者の「ホントに EUC なのか?」という疑問はもっともで、
ビルドとホスティング(アドインの実体は Web サーバ上に置く)が必要な以上、
エンドユーザーが自分で書くツールではなく、開発者向けの仕組みである。

Office Script

Node.js がどうなったか不明だが、こんなモノも登場しているらしい。

補足(Office Script が EUC 側の後継): 上記の整理をふまえると、
Office アドイン(Office.js)が開発者向け
Office Script が EUC 向けという住み分けになっている。
Office Script は Excel on the web のエディタ上で書け、
ビルドも配布も不要で、アクション レコーダーによる記録もできるため、
VBA が満たしていた EUC の条件をクラウド側で再現したものと言える。

参考

本 Wiki 内


Tags: Microsoft Office, Excel

NetDevInfraWiki

マイクロソフト系技術情報 Wiki
Open 棟梁 Wiki

(未着手)

開発基盤部会 Wiki

移行管理: DONETODO

Clone this wiki locally