【IT】Microsoft、Excelカスタム関数としてJavaScriptのサポートを発表
■ このスレッドは過去ログ倉庫に格納されています
Microsoftは先日、JavaScriptでExcelのカスタム関数の作成をサポートする開発者プレビューを発表した。これは、Officeホストアプリケーションのオブジェクトモデルと対話するアドインやWebアプリケーションに限定される既存のMicrosoft Office JavaScript APIを超えて実現できる。
Microsoft Officeチームは、GitHubソースコードリポジトリを作成して、JavaScriptを使ってExcel関数の使い方を学習できるようにした。このサンプルリポジトリは、主要な4つの機能に分けている:
* JavaScript: カスタム関数のソースコード
* JSON: 利用可能なカスタム関数を表示するためにExcelで使用されるメタデータ
* HTML: 関連するJavaScriptソースコードとカスタム関数を初期化するためのメソッドを参照するためのプレビューリリースメカニズム
* XML: カスタム関数とそのリソースの場所と名前空間をExcelに伝える
カスタム関数はユーザーインターフェイスと関連付けられていないため、DOMを操作してはならない。この機能の最終リリースまでにカスタム関数の初期化のためのHTMLは削除される予定だ。
PromisesのサポートのようなモダンなJavaScript機能がサポートされているため、開発者はカスタム関数を、すぐに計算済みの値を扱うために同期にしたり、完了までの複数の計算をする非同期処理としてカスタム関数を定義できる。1回だけではなく、複数回値を返す非同期promiseであるStreamsもExcelカスタムJavaScript関数のオプションである。
ExcelのJavaScriptは、Microsoft Edge Webブラウザで使われているものと同じChakra JavaScriptエンジンを利用している。
カスタム関数は現在、WindowsとMacの開発者プレビューバージョンのExcelに限定的にサポートされている。カスタム関数は、モバイルデバイスや、製品バージョンのExcelでは、現在サポートされていない。
この追加により、シートでJavaScriptのカスタム関数をすでにサポートしているGoogle Sheetsと同等になる。
TypeScriptユーザーは、カスタムJavaScript関数を書くことができる。他のJavaScript環境と同様に、TypeScriptをJavaScriptに変換する必要がある。MicrosoftはExcelでTypeScriptを直接サポートする予定はない。
ExcelでのカスタムJavaScript関数の正式な製品リリース日はまだないが、ExcelのカスタムJavaScript関数に興味がある人は、このプレビューリリースを試して、Officeチームにフィードバックを提供して欲しい。
https://www.infoq.com/jp/news/2018/06/microsoft-excel-js-functions 非同期、イベント駆動型であるJavaScriptを選んで正解。
Google Apps Scriptだってそうなんだし。
俺としては大歓迎。
おっと、MSOffice使ってないんだった。 officeの拡張システム(適当まとめ)
1.VBA
Office標準機能、他の手段より分かりやすいが現代的な言語ではないので規模が大きい物は作りにくい
基本的に誰でも解る(MS基準)ように言語仕様が作られてるのでオブジェクト指向を知らない残念なプログラマでもそれなりに作れる。
2.com
ほぼ無制限にWindowsの機能を使える。VisualStudioで作成
C#やVB .netでも作成可能なので一応、これがプロがOfficeを拡張する時の標準的手段?
3.XLL
Excelだけに準備されたC++ライブラリ。当然、VisualStudio必須
低レベル処理なので(プログラマの腕が良ければ)コンパクト+爆速
これを使ってバリバリC++で処理が組めるエンジニアなら、そもそもExcel必要無いという矛盾
4.JavaScript(計画) ←new Pythonがエクセルに実装されるって聞いたんだけど
どうなるの? >103
1.VBA
APIを使えばなんでもできるぞ。
なんちゃってでもそれなりに動くので残念なコードが生まれやすいのが欠点だな
2.com
COMのインターフェースを準備しておけばDLL(OCX)経由でなんでもできる
つーか、Office自体がCOMのオバケだ
3.XLL
使ったことないのでしらね
4.JavaScript(計画) ←new
どうなんすかね?文法はJavaScriptかも知れんがオブジェクトは
Excelのオブジェクトを操作するんだから文法だけ同じでも仕方ない気がするが、、、
あれ?JScriptってのがなかったけ? >>1
とうとうVBA要らない子になったか…
前から要らんかったけど 余計なことしなくてもいいよ。
手を広げても大混乱に陥るのがおちだ。 VBAで頑張っちゃったの見るよりかは・・・
Excel使ってまで無理矢理頑張らなくてもいいのにってやつを見なくて済むようには
ならないよなー単に置き換えるお仕事とか発狂ものだろうし そんなことより、Excel VBAの開発環境をどうにかしてくれよ。。。 >>113
>そんなことより、Excel VBAの開発環境をどうにかしてくれよ。。。
不満か?そこそこ使いやすい環境だと思うが? 自動構文チェックとか設定が間違ってるんじゃね?>>ExcelVBA開発環境 久々にVBAの画面みてワロタwww
ここだけ完全に時間が止まってるのなwww
でも、逆に言えばこれを最初に作った人が凄いということなんだろうな。
先見の明があるというか。。。
Stack Overflow作ったおっさんだっけ。作ったの。
VBAの設計案をゲイツの前でレビューしたとき、あのダメ出し王
のゲイツが黙ったとか。。。 Basic系はMSの基礎みたいなもんだからゲイツ氏が元気なうちは消えないと思っていたが >>119
なんでVBAが消えるという解釈になってるの? >>120
将来的にクラウド一本でやってくなら遅かれ早かれ消えるでしょ >>122
Excelがクラウド一本になるというニュースではないんだが >>124
これはちがうけどいずれそうなるってことよ >>120
あーごめ
そんな感じのレスがあったんで
消えると思ってるわけではない 皆そんなにEXCELにマクロいれてんの?
ちょっと信じがたいというか。
数千〜数十万レコードを解析したいなら、自分なら
はなからデータベース側で集計かけてデータリンクか
エクスポートで出力するし、ちょっと小奇麗に成形するに
してもピボットで済ませる。
たまに得意先から「これに書け」って書式渡されて
「最後にここのボタン押せ」ってCSV吐き出すやつとか
意味わかんない。 早く触ってみたいんだけどプレビュー版いつ頃出るの? >>19 >>86 >>106 >>123
言語としては明らかにPYTHONよりJavaScriptの方が優れているから今回は正しい判断
特に非同期イベント駆動でのJavaScript有利が大きい 部署の外に送るExcelファイルに使うんじゃねーぞ ■ このスレッドは過去ログ倉庫に格納されています