Python, Excel, 自動処理, マクロ, VBA, openpyxl, pywin32, pandas, 外部データ, アプリ開発, Webデータ
この記事を読むのに必要な時間:およそ 1 分
10年ほど前まで,Excelのデータを自動処理する方法は,Excelが搭載するマクロ機能に限られていました。しかし,Excelファイルの形式が「XLS」から「XLSX」になり,業界標準のXMLをベースにしたデータ形式に変更されると,外部アプリケーションやプログラムからも自由にExcelファイルを扱えるようになりました。
さらに,データの保存場所やアプリケーションの実行環境のクラウド化や,RPAと呼ばれる自動化ツールの普及などにより,Excelの作業を自動化する新たな方法が続々と生まれています。ここでは,現在使われている主なExcelの自動化技術を紹介します。
Excel VBA
Excelマクロを記述するためのプログラミング言語「Excel VBA」は,現在最も使われているExcel自動化技術です。VBAは基本的な仕様が20年以上変更されていないため,一度作ったマクロは最新のExcelでもほとんど変更せずに使えるのが利点です。ただし,Microsoft 365で利用できるWeb版(クラウド版)のExcelでは,VBAで作ったマクロが利用できないため,今後Web版との互換性問題が生じる可能性があります。
Python
Excelファイルを編集できるライブラリ「openpyxl」の登場により,PythonがExcel自動化の環境として注目を浴びています。Pythonを使う最大の利点は,「Pythonが動く環境ならどこでもExcelデータを処理できる」点です。Excelを購入する必要がなく,WindowsだけでなくMacやLinuxでも使え,クラウド環境でも利用できます。また,話題のChatGPTなどの生成AIとの親和性も高いため,近い将来最も使われるようになる可能性があるでしょう。
RPA
RPAは「Robotic Process Automation」の略で,キー入力やマウスクリックなどの操作を自動で行うツールを使って,人間の定型的な作業を肩代わりすることです。Excelデータを直接編集する技術ではありませんが,ExcelだけでなくPC上のすべての操作を自動化できることが利点です。反面,処理速度は遅いため,大量の繰り返し作業には向きません。
クラウド
Microsoft 365やGoogle Workspaceなどのクラウドベースのオフィス環境では,クラウド上のすべての処理を自動化することができます。Microsoft 365の場合,Power Automateによる操作の自動化やOfficeスクリプトによるマクロ作成が可能です。Google Workspaceでは,Google App Scriptですべての処理を自動化できます。ただし,ローカルPC環境などのクラウド外では利用できないという欠点があります(最新のExcelではOfficeスクリプトを利用可能)。
以上,4つの自動化技術を比較すると,互換性や汎用性,将来性の面で,Pythonが優れていることがわかります。これから新しくExcelデータの自動化ツールを作成する際や,古いExcelマクロを作り替える際には,ぜひPython環境での開発を検討してみてください。
Python, Excel, 自動処理, マクロ, VBA, openpyxl, pywin32, pandas, 外部データ, アプリ開発, Webデータ