世界で5人くらいに役立ちたいこの広告は、90日以上更新していないブログに表示しています。新年なのでぽえむすたーと。年末くらいにExcelにPythonをのっけることを検討する話が出てましたね。最初よくわからずそんなんないやろという気持ちでしたが、まあPythonのお勉強はしたいのでぜひ頑張ってほしいという気持ち。ところでこの件、割とググってると「VBAがなくなるかも!?」みたいな話が出てきます。今出てる情報的にどう考えてもVBAが死ぬ話ではないのでその辺の思考的なのをまとめたいという記事。中の人じゃないので本当の事実は知らないです。正確な情報はないです。その辺はご承知ください。追っていきましょう前提条件VBAの代替って話ですので、現状のVBA同様の環境になることを想定します。Officeに言語環境を組み込み、Officeのインストールだけでスクリプトの実行が行える環境です。Pythonのっけるにしてもどのバージョン問題いまいちこの辺詳しくないのですが、Pythonのどのバージョンをのっけるかってそう簡単に決まる話ではないと思われます。3.x系であればすべて同じ構文が使えるんです?というところがあると思っています。3.6と3.7で言語構文的なところに変化がないかというところ。この間で新しく新機能が~って話になるとかなりつらみが出てきます。新しいPythonで書いたスクリプトが過去のPython環境でうごかないんですけどーって話がある場合、組み込んだPythonをむやみに上げれなくなってしまいます。2010を使ってる人がいないか思い出すとよいかと思います。つまるところ、組み込むにしても更新が活発なPythonのどれを組み込むのか、というのはかなり難しいお話になります。この点枯れてそうな2.7を入れるのありなのでは?ってなりますが、サポート切れの言語をMSが組み込むのかなり評判悪そうというところ。そのため、VBAみたいに言語仕様が変わらないのはある意味ではメリットだったりします。(office.jsの方。Office)は割とにょきにょきバージョン上げてるなと思いました。いえあっちはマニフェスト定義してるしまだなんとかなるんかしら。ライブラリ?)にあると思います。installは大事だとおそらく思っています。scikit-learnやらのライブラリに助けられているところも大きいと思います。scipyとかもありそう。ところで、この辺のパッケージもどう管理するのか、という話が出てきます。生のPythonしか使えなくてうれしい!神!って人はおそらくいないと思っています。Analysisとかその辺の活用見込んでるはずなのに、その手のパッケージ一切使えません!じゃお話にならない)さて、Pythonバージョン以上にパッケージのほうはさらに面倒です。パッケージをどこに持つかパッケージのバージョンをどうするかという2つの問題が出てきます。バージョンの話はさっきのPythonのどのバージョンの話と一緒です。バージョン互換性について一切保証されていないので、下手に組み込むわけにもいきません。組み込まれたものしか使えません!もとてもつらみあるし。packageよろしく、依存パッケージをインストールしようぜ!が割とよさげです。installが走るのウゴゴーってなります。2MBのExcelファイル開いたら10MBのPythonパッケージ落ちてきました!とか言われるとかなりつらいという。落としてきたパッケージの管理もだるくて、毎回消してると開くたびにダウンロード走るし、全部残してるとディスク領域にゴミがというところ。Excelファイルにパッケージ埋め込もうぜ!なんかファイル容量一気にふえたんですけお。組み込みPython問題が...。書きながら考えてたら妥当なのが毎回ダウンロード走らすだなって思いました。オフラインで使えないのは妥協。絶対ユースケースにある。(何よりもプロキシブロックとかされそう)というわけでパッケージもちょいちょいめんどいなーというところ。VBAはExcelだけじゃないんですよ個人的に上のはどうにかしようと思えばなる類かなぁと思っています。ところでPythonのっける話って実はExcelとしか言われてないんですよ。最近生きてるのか知らないAccessとか、地味にVBA使われてそうなOutlook、実は載ってるWord、PowerPoint、Projectなどもいるわけです。VBA置き換えとなると当然これらの製品にも載るわけですが、他の製品だとCOM触れればよくねっていう感じがあるんですよ。他の製品のVBAを変えるのにPythonである必要性がないというところ。データ分析とかの面でExcelとPythonの相性がいいのは自明なんですが、PowerPointとかWordと相性いいか?といわれるとはて...となります。その段階で他のあらゆる言語を押しのけてPythonというのはかなりよくわからない回答だなとなります。4,6とか載ってるのでC#いいじゃん!とかVB.NETいいじゃんとかその辺を押しのける理由があんまりないなーと。ExcelだけPythonにして~とかだと結局VBAも保守せざるを得ないんで、それはExcelに載せない理由がなくなり死なないという流れ。いうか切り替えるときにもこれ起こって不滅なのでは...?っていう感想です。Addinsも言うほど流行ってないし...(Officeのバージョンの問題な気もする。2019の製品にAccessとPublisherとOneNoteが載ってないオーラなんですよね。Prosこれも実際出ないとわからないですが、AccessとPublisherは消滅する可能性ありそう。OneNoteは無償化なりで販売しなくていいやという流れになってそうですが、ここ数年アップデートされてないAccessとPublisherはうーーーんという気持ち。Database方面使おうって話で頻度低そうだし、Publisherはどの程度使われてたんだろ感なので消える可能性は十分あるかなーって感じです。2019自体もLTSB的なパッケージに対する累積アップデート状態であまり面白みがないのがぐぬみ。Queryのほうが死にそうというわけでVBAが生き残る理由を書いていたのですが、こうなるとだいぶ載り方が決まってきます。Editorが載るという感じか、PythonのパッケージでExcel使えるようにするとか。後者は既にある気がする。Queryちゃん存続の危機となります。データソースへのアクセス的なところで役割分担を果たしてほしい。Editorは上の問題どうするの?って話については、ファイルに紐づかないPythonだからバージョン固定じゃないし、使う機会限られるから毎回ダウンロードでいいし、Excelにしか乗せなくても問題ないという感じで丸く収まります)という感じでなんかいまいちまとまりませんでしたが、VBAは死なんよ!何度でも生き続けるさ!という話でした。Excelの話書きます。今年もゆるっとブログ書きたい...。月別アーカイブはてなブログをはじめよう!fantasticswallowさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。