エクセルマクロ(VBA)はOffice365で終了へ(悲報)

システム

はじめに

執筆時点の2020年6月時点ではエクセルファイルにプログラムを埋め込むエクセルマクロ(VBA)はMicrosoft社から正式にサポート終了時期発表はされていません
しかし、サポート終了のカウントダウンが始まったといえます。

根拠としては、永らくVisual Basic開発ツール(VB6.0)が2008年4月8日にサポート終了となりました。VB6がサポート終了となったのだから、VBAもそろそろかと、ビクビクしていた開発者の方も多いと思いますが、Office2019でも元気に動作しています。
しかし、Office365にMicrosoft社が本腰を入れているので、もうそろそろサポートを終了してくるのでは無いかと私は予想しています。

現状Office365だとエクセルマクロVBAを動かそうとするとどうゆう状態になるの?と気になっている方も多いと思いますので、挙動をまとめたいと思います。

Office365でのVBAマクロ動作検証

ユーザーコントロール付きのエクセルマクロ

ユーザーコントロールとは、エクセルにボタンが付いているようなエクセルファイルや、エクセルを起動したら、フォームと呼ばれる画面が表示されるようなエクセルマクロ(VBA)を指します。

従来、デスクトップ版のエクセルでは、以下のように開発タブを表示し、VisualBasicというボタンをクックする事でプログラミングを行う事が出来ました。

このような形式のエクセルマクロをOffice365のプラットフォームであるSharepointもしくは、Teamsで開くと以下のような「次の機能は、ブラウザーでは表示できません」「ツールバーコントロール、ツールボックスコントロール ActiveXコントロールなどのオブジェクト ただし、このファイルをデスクトップアプリで開いて、このブックの全てのコンテンツを表示することが出来ます。」エラーメッセージが表示され、エクセルマクロが起動しません


要するに、コントロール等を使用したVBAは対応していませんという旨のメッセージが表示されます。ではボタン等、エクセルシートに貼りついていなければ、いいのかと試してみました。

ユーザーコントロールの無いエクセルマクロ

ユーザーコントロール有りのエクセルマクロは一目で分かりますが、ユーザーコントロールが無いエクセルマクロ(VBA)はコードを見る必要があります。エクセルシートの開発タブをクリックして、VisualBasicというボタンをクリックすると、VBAで書かれたプログラムがあるかの確認を行う事が出来ます。

画面コントロールが無いVBAソフトは、ユーザーイベント(使用者の操作)を元にプログラムが実行する作りになります。
例えば、ユーザーがセルに入力を行ったらセルの値変更イベントを元に、裏で計算を行うプログラム等が挙げられます。

このようなエクセルマクロ(VBA)を同様にSharepointで実行するとどうなるのか、確認を行います。結果はマクロは全く動作しません。表面上エラーすら表示されない状態です。

マクロとは呼ばないが勘違いしている方へ

たまにエクセルの表計算の事をマクロと言われている方を見受けられます。エクセルの計算式はそのまま使用出来るので大丈夫です。
以下のように個数×単価をセルに式を入れるようなエクセルはそのまま使用できます。

まとめ

世界中でソフトウェアはクラウドサブスクリプション化が進んでいます。マイクロソフトもOffice365へのシフトが加速しており、そのうちデスクトップ版を収束させたい感じがします。VBAが急に使えなくなるという事は当面無さそうですが、これから新規でVBAを使用した業務効率化のアプリケーションを作成する事は避けておいた方が無難と言えます。

最後にお時間あれば関連記事もご参照下さい。

タイトルとURLをコピーしました