OfficeはWordやExcel、PowerPointなどのクライアントアプリケーションとExchange Server、SharePoint Serverなどのサーバー製品があります。それぞれ多くの機能が提供されていて、標準的な機能でも非常に多くのことができます。
しかし、同時にこれらのアプリケーションは業務のプラットフォームとしても利用されることも多く、これによってさらなる業務の効率化や自動化などを実現している場合も多いでしょう。
今回は、このようにアプリケーションのプラットフォームの観点でOffice 2019についてまとめてみたいと思います。
※リリース前の情報ですので、リリース時には内容が変更になる場合がありますのでご了承ください。
Officeの開発機能
Office製品をプラットフォームとして活用し、アプリケーションを開発することは皆さんも一度は検討されたり、実際に経験されたりしているでしょう。たとえば、ExcelでVBAを活用して簡単なアプリケーションを作るというのは一般的にも広く行われています。しかし、製品によっては様々な開発のポイントや要素があります。特にサーバー製品では、製品ごとに開発する要素や方法が異なるものもあります。
そこで、製品ごとの特徴をまとめてみたいと思います。
VBA(クライアントアプリケーション)
VBAというとExcelを思い浮かべる方が多いと思いますが、VBAが使用できるのはExcelだけではなく、WordやPowerPointも含まれています。アプリケーションごとに扱うドキュメントの種類が異なるため、それぞれのアプリケーションごとにオブジェクトモデルが用意されています。
そもそもVBAとマクロの関係ですが、アプリケーション内で実行するマクロというシンプルな処理を記述するためのプログラミング言語がVBAという関係です。マクロを作成するには、一からVBAで処理を記述することもできますし、マクロの記録の機能を使用し、実際に行う処理をマクロとして保存することも可能です。
VBAというとExcelというイメージがあるのは、処理を自動化するマクロを作成する目的が、計算処理などのニーズが高いためExcelのVBAが活用されることが最も多いでしょう。
基本的にはOffice 2019になってもVBAによるマクロの機能は継承されます。しかし、これまでのバージョンアップと同様に、ファイル構造の変更や機能の変更によって一部の動作に問題が出る可能性があります。そのため、バージョンアップの際には必ずマクロの動作検証も行い、問題が出る場合には事前に修正を行いましょう。
ただ実際には、ユーザーでも作成できてしまうため、どのファイルでどのようなマクロが実行されているのかを把握するのは非常に困難です。そのため、ユーザー部門との協力しながら棚卸を行い、業務に支障が出ないように準備することが重要です。
Excel Python
Pythonは今最もホットなプログラミング言語の一つです。少ないコードで簡単なプログラムを記述でき、かつコードがスッキリとして読みやすいという特徴があります。この他Pythonが人気の理由はライブラリの多さとプログラミング言語としての柔軟性でしょう。
Pythonはライブラリが多彩で、それ故に様々なプログラムを効率良く記述できます。さらに柔軟性も高いのでAI開発やWebプログラミングなど幅広いシーンで活用できるのも特長です。特に最近では「AI開発といえばPython」というほど欠かせないプログラミング言語になっています。
このPythonがExcel 2019で使用できるようになると言われています。※確定情報ではありません ではExcelにPythonが統合されるとどのようなメリットがあるのでしょうか。
AIツールのフロントエンドとして活躍する
昨今のビジネスにAIは欠かせないものになっています。マイクロソフトでも「AIファースト」を打ち出しており、様々なツールにAIを統合していて、みなさんも気づかないうちに使用しています。ちなみにOffice 2019ではExcelにAIが統合される予定です。
そのため、マイクロソフトがExcelをAIツールのフロントエンドとして位置づけたいのも当然の流れとして受け止めることができます。実際にExcelでPythonが使えるようになれば、AI開発の敷居はもっと低くなるのではないかと考えられます。
Pythonをもっと気軽に使えるようになる
みなさんの中には会社のセキュリティポリシーなどからPythonを使いたくても使えないという方もいらっしゃるのではないでしょうか。もしもExcelにPythonが統合されれば、そうした悩みから解消されます。
ExcelがインストールされていればPythonの開発環境も整い、Excel上でPythonによるコードが欠けます。そうなればPythonはもっと気軽なプログラミング言語になり、より広範囲に普及していくと考えられます。
ただし、現時点ではExcelにPythonがサポートされるというのは正式な情報ではありません。しかし、それを裏付けるための情報があります。
ひとつはマイクロソフトは「AIファースト」と打ち出しており、ExcelとAI用のフロントエンドとして位置づけ、普段使用しているExcelなどのアプリケーションをAI活用の入り口として位置づけようとしているのは合理性があります。そのためデータ分析(サイエンス)用のライブラリも含めて、Pythonを統合することが最も効率的なのです。
もう一つExcelにPythonが統合されるというニュースを濃厚にしている裏付けがユーザーからのフィードバックを募るサイト「UserVoice」に2015年11月に寄せられた要望※2に対し、2017年12月にOffice開発チームが返答したことです。
なぜ2年間も放置されていた要望に今更回答があったのかという点に様々な思案がり、さらにOffice開発チームはExcelへのPython統合に対し「どれくらいのニーズがあるか知りたい」という名目でアンケートフォームへの回答を要求しています。現時点で5,000以上の票があるため、Office 2019でExcelにPythonが統合されるのではないかと予測されているのです。
いずれにせよExcelにPythonが統合されれば、簡単に、かつ堂々とPythonが使用できるようになります。これによってPythonが急速に普及するのではないかと考えられます。
ちなみに、そうした制約がない方であればExcelへのPython統合を待つ必要はありません。実はVisual StudioにはPython Tools for Visual Studioというツールがあり、Visual Studio CodeにはPython拡張用のアドイン「Python」が提供されているからです。そのため「Pandas」というPython用のライブラリからExcelを使用することもでき、Office 2019へのPython統合を待つことはないのです。
しかしながら、Office 2019でPythonが統合された方がより簡単に使用できるというのは間違いないでしょう。
SharePoint Designer
以前はMicrosoft Office SharePoint Designerとして知られていたMicrosoft SharePoint Designer(SPD)は、Microsoft SharePointサイト、ワークフロー、およびWebページを作成または変更するためのエディタです。 SharePoint Designer 2013は、残りのクライアントサポートライフサイクルの期間はSharePoint Server 2019で動作するとされています。
Microsoft Flow
SharePointワークフローとMicrosoft Flowはどちらも、承認のためにドキュメントをルーティングするなど、ビジネスプロセスを自動化するように設計されています。いずれもSharePoint Server 2019 パブリック プレビューで引き続き利用できるようになります。Microsoft Flowを使用すると、広範な開発者リソースなしでプロセスを自動化する前よりも簡単になります。Microsoft Flowの詳細については、 Microsoft Flow のマニュアルを参照してください。
PowerShell
サーバーにはPowerShellといって、外部からコマンドで管理作業などを行うことができます。これを組み合わせたスクリプトなどを作成することにより、管理作業の自動化などを実現することも可能です。
この機能は、オンプレミスのサーバーだけでなく、Office 365で提供されるExchange Online、SharePoint Online、Skype for Business Onlineなどのオンラインサービスでも利用可能です。
業務アプリケーションだけでなく、管理作業を含めたスクリプトやアプリケーションを利用することで、管理業務を自動化や効率化をし、ユーザーの業務にも素早く活用することが可能です。
まとめ
OfficeのクライアントアプリケーションやSharePoint Serverなどは、業務アプリケーションのプラットフォームとしてアプリケーションを作りこむことにより、より活用することが可能です。
また、サーバー製品もPowerShellを利用することで管理作業などを自動化し、効率的に運用することが可能になります。これらの機能はOffice 2019でも継続的に提供されるとともに、Office 365の環境でも利用可能です。
アプリケーションの基盤としてクラウドも見据えた活用をぜひご検討ください。