見出し画像

Python in Excel で遊ぶ


免責事項

  1. ここで紹介している「Python in Excel」はMicrosoft 365のベータ版で先日提供されたプレビュー版です。導入方法および最新の機能についてはMicrosoft社のドキュメントを参照してください。

  2. 本記事ではMicrosoft で推奨していない使い方を説明することがあります。実機での実行結果については、当方は何ら責任を負わないものとします。

Python in Excel の実行環境について

では、以上のことを踏まえ、いろいろ実験してみます。
Python in Excelでマクロっぽいことできないの?と私も考え、xlwingsとかopenpyxlが呼び出せないか調べてみました。

図1 openpyxlを使ってみる。

xlwingsは無理でしたが、openpyxlをimportして使うことはできそうです。中の関数も使えそうでしたが、同じフォルダーにおいた「test.xlsx」をどうしても見つけることができません(上図1)
そこで、Python in Excelはセル内のコードをクラウドのAnacondaで実行することを思い出しました。もしかしてファイルもクラウド上のものを認識しようとするのでは?
そこで、OSの簡単なコマンドを実行してみましょう。Anaconda はLinux で動作している可能性が高そうです。

図2 簡単なコマンドラインの実行

なんかスゲェのが出てきた(笑)
実行ユーザはjovyanでカレントディレクトリは/appであることがわかりました。
jovyanて誰? ってこともググったらわかりました。Jupiter Notebookか何かが入っているのかな?

本来あるべき姿

上で見えちゃったファイル群ですが、オープンソース由来のものであってMicrosoft の知的所有権には関係ないだろう、と勝手に解釈します。
とはいうものの、クラウドサービスのファイルシステムが直接ユーザーに見えるには宜しくない事。バカな奴はsudo attackでrootになって…とかしたがるだろうし。このまま製品リリースはないでしょう。

暫定的には、カレントディレクトリをユーザーのOnedirveの中身にしとくとかはいかがでしょう?

もうひとつ、いっそのことクラウドやめてExcelにAnacondaバンドルしちゃうとか。ライセンス問題とかよくわからないけど、多くの人の長年の夢であるPythonがVBAにとって代わることを可能とする。でもローカル導入されたAnacondaのサポートまでMSはしたくないんでしょうね。

この記事が気に入ったらサポートをしてみませんか?