【IT】Microsoft、Excelカスタム関数としてJavaScriptのサポートを発表

1ノチラ ★2018/06/12(火) 10:26:02.83ID:CAP_USER
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

68名刺は切らしておりまして2018/06/13(水) 07:04:07.78ID:pp1prwi3
>>57
今日は13日だけど金曜日じゃないから説明は無しな

69名刺は切らしておりまして2018/06/13(水) 15:55:29.42ID:8UdKhvhv
Excelいじっている時間があるなら Edgeをちゃんとしたものにしろー。
またまた脆弱性が問われる報道がでてきた。
もう頼むからだれか日本発のOS開発してくれないか?
まったく、安心して使えないMicroなんざ御用なしー。

70名刺は切らしておりまして2018/06/13(水) 16:11:43.03ID:RI7aiXTQ
>>69
ソフトウェアエンジニアを小汚い奴隷のように扱う日本でOSなんか無理w
オマエみたいなクレクレ野郎ばかりで自分でなんとかしようってのがいない支那www

71名刺は切らしておりまして2018/06/13(水) 16:19:31.53ID:Col4LiEW
>>69
Edgeなんてもう諦めたほうが良いくらいのシェアだろ

72名刺は切らしておりまして2018/06/13(水) 16:39:40.44ID:avx0MaWh
というかもうOSなんてほんとになんでもよくなってくでしょ

73名刺は切らしておりまして2018/06/13(水) 16:54:26.10ID:tUuhYA2b
Access触らないとなんないんだけどこっちも頼むよ

74名刺は切らしておりまして2018/06/13(水) 18:59:11.47ID:tvEAHJXP
マルウエアがえぐいことになってまともな企業なら使用禁止になりそう

実装するのは勝手だけどデフォルトはコンポーネントインストールなし、
入れてもデフォルトオフにしてくれ

75名刺は切らしておりまして2018/06/13(水) 19:34:12.93ID:ha08+PH/
Accessは天才が作ったと思うわ

76名刺は切らしておりまして2018/06/13(水) 19:49:03.65ID:khjwLtCr
accessで帳票一枚印刷するつもりが
全件印刷し始めて慌ててプリンターのコンセントを引っこ抜く

77名刺は切らしておりまして2018/06/13(水) 19:58:07.54ID:dI/FPOxv
JSだとウィルスが増えるとか言ってる奴はよくわかってないだろ。
VBより生産性が高いからウィルス作成が捗るとかいう話なら別だがw

78名刺は切らしておりまして2018/06/13(水) 21:10:47.50ID:+NULvJCd
それよりVBE何とかしろよ、使いにくい
VSと簡単に連携できるようにしてほしい

79名刺は切らしておりまして2018/06/13(水) 21:14:47.31ID:rl5Af04E
>>78
VSEもVSなるものも分からんが時代はそこじゃないんでは?

80名刺は切らしておりまして2018/06/13(水) 21:18:05.22ID:qSBEjLto
Pythonはソース見難いクソ言語

81名刺は切らしておりまして2018/06/13(水) 21:23:36.51ID:rl5Af04E
>>80
言語なんか手段でしょ固執するなよ。もったいよ

82名刺は切らしておりまして2018/06/13(水) 21:25:16.57ID:H5sLF07G
そもそも関数が古い。

83名刺は切らしておりまして2018/06/13(水) 21:29:20.27ID:BfblCneU
VBScript使ってる俺は勝ち組

84名刺は切らしておりまして2018/06/14(木) 01:18:48.23ID:JXwjWZXY
自分用の「ちょっと便利ツール」用にACCESS VBAばっかり
やってて、たまにjavascript触ると、{ }が多すぎて
「あれ?どこまで閉じたっけ?」と迷うこと多い。
仕方なく「関数なんちゃらを閉じるやつ」とか、アホみたいな
コメント書いてる。

85名刺は切らしておりまして2018/06/14(木) 02:05:10.79ID:cvOMQH6l
>>84
開発用のまともなエディタ使えば対応するカッコが強調表示されたりして一目瞭然なのに

86名刺は切らしておりまして2018/06/14(木) 13:18:48.03ID:gemp4Uqr
pythonじゃないのか。

web屋にすり寄った方が良いと判断したのか。

87名刺は切らしておりまして2018/06/14(木) 13:38:32.54ID:68oP5teY
>>7
Wordもいじってほしくない。

一太郎がライバルだったときはWordの日本語ローカライズもそれなりにしっかりしてたけど、
今やWordはどんどん日本語無視の方向に行ってる。

88名刺は切らしておりまして2018/06/14(木) 13:47:55.61ID:ns/9YMJx
(´・ω・`)そのうち、pythonとLaTeXをサポートするに1000点

89名刺は切らしておりまして2018/06/14(木) 15:24:59.22ID:gemp4Uqr
>>88
wordはtex形式の数式入力に対応したな

90名刺は切らしておりまして2018/06/15(金) 16:25:23.94ID:2jkMjEWm
>>84
スパゲティなのが眼に浮かぶwでも良いんだよ業務が効率化出来てれば

91名刺は切らしておりまして2018/06/15(金) 17:42:32.62ID:X3FmEIrl
自宅用はEXCEL2000で十分だ

92名刺は切らしておりまして2018/06/15(金) 18:08:53.38ID:V40IDldO
社内共有のexcelにマイニングのjavascript入れたら、
退職後も掘り続けてくれるな。

93名刺は切らしておりまして2018/06/15(金) 23:07:30.15ID:X1M7nKtz
Excel本体とVBAとの間でちゃんと統率が取れているのかどうかすら怪しいのに、JavaScriptなんて大丈夫なのか?

Excelでは行の高さは0.01ポイント単位で設定出来るのに対して、
VBAで行の高さをコピペすると0.25ポイント単位に切り上げられてしまうとか

マクロで長い帳票を出力すると段々と帳票のページがずれてくるんで、
その誤差が積み重なったのが原因って分からずにずっと悩み続けてたわ

94名刺は切らしておりまして2018/06/17(日) 17:45:58.95ID:uQxYLU3h
余計な機能ってあほかよ
Google Spreadsheetじゃ普通にJavaScriptつかえるだろ
むしろおせーわ

95名刺は切らしておりまして2018/06/17(日) 17:47:33.71ID:uQxYLU3h
>>93
行の高さw
データの本質は行の高さになんて左右されません
ばかすぎ

96名刺は切らしておりまして2018/06/17(日) 17:48:46.46ID:HIaSZYXX
データの本質()

97名刺は切らしておりまして2018/06/17(日) 17:52:10.15ID:Yo+NmKaV
いやまあ、実際のところ、他人が作った糞長い処理を解析するぐらいなら、
同じ目的で作り直した方がずっと早いと思うw

98名刺は切らしておりまして2018/06/17(日) 17:54:15.86ID:hjgOezkY
>>97
あるある

99名刺は切らしておりまして2018/06/17(日) 18:03:28.17ID:uQxYLU3h
>>96
バカそうだなぁ
関数ですかそれ?
典型的なばか

100名刺は切らしておりまして2018/06/17(日) 18:07:13.84ID:Yo+NmKaV
追加要件に合わせて、全体の処理も最適化するつもりで作り直してしまえばいい。

EXCELの式は可読性無視だから、判らないとこや面倒なところだけに処理を絞って参考にして、
全体を作り直すころには前の奴が何をしてたか凡そ理解できてたり。

101名刺は切らしておりまして2018/06/17(日) 18:24:03.21ID:0Vz1Wd9l
VisualStudioを買えばいくらでも拡張できるよ!! byゲイツ

102名刺は切らしておりまして2018/06/17(日) 18:26:08.23ID:v9goSI5Q
非同期、イベント駆動型であるJavaScriptを選んで正解。
Google Apps Scriptだってそうなんだし。

俺としては大歓迎。
おっと、MSOffice使ってないんだった。

103名刺は切らしておりまして2018/06/17(日) 19:13:06.79ID:0Vz1Wd9l
officeの拡張システム(適当まとめ)

1.VBA
 Office標準機能、他の手段より分かりやすいが現代的な言語ではないので規模が大きい物は作りにくい
 基本的に誰でも解る(MS基準)ように言語仕様が作られてるのでオブジェクト指向を知らない残念なプログラマでもそれなりに作れる。

2.com
 ほぼ無制限にWindowsの機能を使える。VisualStudioで作成
 C#やVB .netでも作成可能なので一応、これがプロがOfficeを拡張する時の標準的手段?

3.XLL
 Excelだけに準備されたC++ライブラリ。当然、VisualStudio必須
 低レベル処理なので(プログラマの腕が良ければ)コンパクト+爆速
 これを使ってバリバリC++で処理が組めるエンジニアなら、そもそもExcel必要無いという矛盾

4.JavaScript(計画) ←new

104名刺は切らしておりまして2018/06/17(日) 19:16:59.87ID:HIaSZYXX
>>99
必死過ぎ草

105名刺は切らしておりまして2018/06/17(日) 21:08:11.62ID:ZZakRo7m
>>103
VSTO

106名刺は切らしておりまして2018/06/17(日) 22:55:18.34ID:Cngy1uOC
Pythonがエクセルに実装されるって聞いたんだけど
どうなるの?

107名刺は切らしておりまして2018/06/18(月) 12:34:53.22ID:3evN0qVt
>103
1.VBA
 APIを使えばなんでもできるぞ。
 なんちゃってでもそれなりに動くので残念なコードが生まれやすいのが欠点だな 

2.com
 COMのインターフェースを準備しておけばDLL(OCX)経由でなんでもできる 
 つーか、Office自体がCOMのオバケだ

3.XLL
 使ったことないのでしらね

4.JavaScript(計画) ←new
 どうなんすかね?文法はJavaScriptかも知れんがオブジェクトは
 Excelのオブジェクトを操作するんだから文法だけ同じでも仕方ない気がするが、、、
 あれ?JScriptってのがなかったけ?

108名刺は切らしておりまして2018/06/18(月) 13:29:00.52ID:5rNAdgja
>>1
とうとうVBA要らない子になったか…
前から要らんかったけど

109名刺は切らしておりまして2018/06/18(月) 13:42:08.91ID:I4lEzLhM
余計なことしなくてもいいよ。
手を広げても大混乱に陥るのがおちだ。

110名刺は切らしておりまして2018/06/18(月) 14:03:14.99ID:NS9Vxqsa
VBAで頑張っちゃったの見るよりかは・・・
Excel使ってまで無理矢理頑張らなくてもいいのにってやつを見なくて済むようには

ならないよなー単に置き換えるお仕事とか発狂ものだろうし

111名刺は切らしておりまして2018/06/18(月) 14:20:51.00ID:ZsOjHyIc
>>54
他にどんな意味があるのー?

112名刺は切らしておりまして2018/06/18(月) 15:03:50.37ID:0E5YyFeT
>>111
ジェーンスタイルに決まってんだろ

113名刺は切らしておりまして2018/06/18(月) 15:51:30.21ID:OnixbXcH
そんなことより、Excel VBAの開発環境をどうにかしてくれよ。。。

114名刺は切らしておりまして2018/06/18(月) 20:49:57.08ID:3evN0qVt
>>113
>そんなことより、Excel VBAの開発環境をどうにかしてくれよ。。。

不満か?そこそこ使いやすい環境だと思うが?

115名刺は切らしておりまして2018/06/19(火) 01:33:33.28ID:shaWOJdE
>>114
カッコがありませんのアラートがうざい

116名刺は切らしておりまして2018/06/19(火) 08:47:08.78ID:r+DKtKZT
自動構文チェックとか設定が間違ってるんじゃね?>>ExcelVBA開発環境

117名刺は切らしておりまして2018/06/19(火) 11:26:04.83ID:YFByzWdZ
>>103
VSTO忘れてるよ

118名刺は切らしておりまして2018/06/19(火) 11:36:58.43ID:+TIMtfap
久々にVBAの画面みてワロタwww
ここだけ完全に時間が止まってるのなwww

でも、逆に言えばこれを最初に作った人が凄いということなんだろうな。
先見の明があるというか。。。
Stack Overflow作ったおっさんだっけ。作ったの。
VBAの設計案をゲイツの前でレビューしたとき、あのダメ出し王
のゲイツが黙ったとか。。。

新着レスの表示
レスを投稿する