【あなたも知らずにライセンス違反！？】RPAでExcelをUnattended型(無人自動化)で使う際の注意点

あまり知られていないかもしれませんが、皆さん知らない間にライセンス違反をしている場合があるので記載しておきます。

# RPAでExcelやWord等のOfficeアプリを使うことは多い
RPAを扱う際の典型的なシナリオとして、Excelファイルでデータを加工して業務アプリに入力したり、業務アプリから取得したデータをExcelで開いたり、といったことをすることは多いのではないでしょうか。その時にはRPAが持っているExcelライブラリ等を使って、Excelを起動したり操作したりすると思います。

### ところで...Officeアプリの利用にはライセンスが必要です
ちなみに、よいこの皆さんはご存じだと思いますが、Officeアプリケーションをインストールして利用するには、適切なライセンスが必要です。ユーザーが操作しているマシンと同じマシンでRPAを操作する場合は**Attended型**(有人自動化)と呼ばれています。この時はRPAをはじめとする自動化アプリケーションは、一緒にマシンを操作している人間のユーザーのライセンスを共用しています。人間のユーザーがRPAを介して間接的にOfficeアプリを使っているわけですから、この場合は人間のユーザー用のライセンスがあれば問題ありません。

一方、RPAには人間のユーザーがマシンにログインしていない状態で動かす**Unatteded型**(無人自動化)のシナリオがあります。主にサーバー型RPAのサーバー側からマシンに指令を出して無人のマシンやクラウド上の仮想マシン上でExcel等を操作するシナリオです。**その際には使われているOfficeのライセンスに注意する必要があります。**

### あなたの使っているExcelはOffice 365ですか？無人自動化の場合はグレーゾーン！
最近は企業で利用しているOfficeはOffice 365であることが多くなってきました。どちらかわからない人はバージョン情報を見てみてください。(**[ファイル]メニューの[アカウント情報]**から見られたりします) 製品名の中に "Office 365" という文字が含まれていれば、Office 365として導入されています。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479715/61b89824-473f-ae98-4b95-6f7ac68866d6.png)
この場合はOffice 365で導入されています

Office 365の場合は**「ユーザーライセンス」**という形式でライセンスが付与されていますが、**1ユーザーあたり5台のWindows/Macまで**インストールして使うことができます。ただし、同じユーザーが使うことが条件となっています。Office 365でない従来の買い切り型のOfficeの場合もユーザーライセンスで導入されている場合の考え方は似ていて、1ユーザーが複数マシンで利用可能です。

「ユーザーライセンス」で導入されているケースで無人自動化を行う際は、実はRPAは人間のユーザーとは必ずしも言えず、人間のユーザーが直接操作もしていないため、**無人自動化を行うことはライセンス的にはグレーゾーンとされてきました。**

# 無人自動化をする場合、どのようなケースで気を付けなければならないか？
Excelを無人でRPAで動作させるケースはわかりやすいですが、その他に気を付けないといけないケースはどのようなものがあるのでしょうか？いくつかの例がマイクロソフトによって示されています。(これらはあくまでも例なので、これらのケースに限定されるわけではないです)

### 例1: メールの受信をトリガーにして他の人にメールを出す
メールの受信を自動的に認識してユーザーの操作なしにメールを送信する場合

### 例2: Web/画面スクレイピングで情報を自動収集
ユーザーの操作なしに(ユーザーが開始ボタンをおさなくても) 自動的にスクレイピングを行う

### 例3: 他のマシン操作をトリガーにしてメールを送信する
新入社員がはじめて自分のマシンにログインしたことをトリガーに、ユーザーの操作なしにメールを新入社員に送る。

### 例4: データ処理: データソースの変更をトリガーにしてバックアップシステムに情報を書き込む
常にデータソースを監視していて、変更が行われたらそのデータをユーザーの操作なしにバックアップシステムに書き込む。

### 例5: データ転送: データ転送/バックアップ管理
RPAでデータ転送やバックアップを管理しており、マシンにユーザーの操作なく自動ログインしてデータバックアップを行う。

また、最近はOffice 365はMicrosoft 365という名前にリブランドされましたが、**Microsoft 365にはWindows 10のライセンスを含むものがあり、Windowsがユーザーライセンスになっている場合があるため、そのような場合にはWindowsもOfficeと同じ扱いになるので注意が必要です。**この場合は、Officeアプリの操作をしなくても、Windows上で何かするだけで違反になる可能性があります。

# ライセンス違反を回避するには？

### 1. Microsoft 365ライセンスが適用されているWindowsマシンでのUnattended型の運用は避ける
Officeアプリを使わない場合でも、Microsoft 365が適用されているWindowsマシンで無人自動化をするのはリスクがある可能性があるため、Microsoft 365でないWindowsライセンス (デバイスライセンス) が適用されているマシンを使うようにしましょう。

### 2. Microsoft 365 for Unattended Licenseを購入する
2020年5月にマイクロソフトから[Microsoft 365 Unattended License Overview](https://download.microsoft.com/download/3/D/4/3D42BDC2-6725-4B29-B75A-A5B04179958B/M365_Unattended_Brief.pdf)というドキュメントが公開され、無人自動化をする際のライセンスのガイドラインが示されました。無人自動化をする際には、通常のユーザーライセンスではなく無人自動化専用のライセンスを購入する必要があるとのことですので、必要なライセンスを購入しましょう。

### 3. Office アプリを介さない操作を行う (UiPath、Automation Anywhereは可能)
もう一つの方法は、Officeアプリの機能を使わずにファイルの読み書きをする方法です。Office 2007以降で導入されたOpen XML形式のファイル (.docx, .xlsxなど)は、ZIP+XML形式で構成されており、仕様が公開されているため読み書きロジックをRPA側で独自に実装することが可能です。UiPathとAutomation Anywhere A2019にはOfficeアプリを使わないExcelファイル操作のコマンドがあります。できることは限られていますが、Officeのライセンスを使わなくてもファイル操作ができるので、大量のマシンで無人自動化を計画する際にはOfficeライセンスの費用を抑えることが可能です。

#### UiPathの場合
ワークブック系のアクティビティを使います。(アプリの連携 / Excel系のアクティビティにはExcelが必要です)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479715/2b35e18b-94b9-606d-c6db-9c626a75ed8f.png)


#### Automation Anywhere A2019の場合
Excelの基本操作アクションパッケージを使います。(Excelの高度な操作パッケージにはExcelが必要です)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479715/66d42d19-20a2-104a-3b94-b84fc903e4f5.png)

# まとめ
このように「ユーザーライセンス」のOfficeをRPAから利用する際には、ライセンス違反をしないように注意しましょう。また、これはマイクロソフトのOfficeアプリに限らず**、他社製の様々なアプリで「ユーザーライセンス」で提供されている製品については同様に問題になる可能性がある**ため、懸念がある場合はそのアプリのメーカーまたは代理店に問い合わせてみましょう。


# 参考文献

* [Microsoft 365 Unattended License Overview](https://download.microsoft.com/download/3/D/4/3D42BDC2-6725-4B29-B75A-A5B04179958B/M365_Unattended_Brief.pdf) - Microsoft Download Center
* [無人の RPA 環境での Microsoft 365 での Office の無人自動化に関する考慮事項](https://docs.microsoft.com/ja-jp/office/client-developer/integration/considerations-unattended-automation-office-microsoft-365-for-unattended-rpa) - Microsoft Docs
* [New licensing options for Microsoft 365 for unattended scenarios](https://developer.microsoft.com/en-us/office/blogs/new-licensing-options-for-microsoft-365-for-unattended-scenarios/) - Office 365 Developer Blog
* [STOP！Office 365のライセンス違反！](https://licensecounter.jp/office365/blog/2018/01/stop-license-violation.html) - SBC&S Office 365 相談センター