Back to News
FlaskPythonExcelセキュリティ開発記録

Excel Macro Remover - マクロ除去ツールを公開しました

Excel Macro Remover - マクロ除去ツールを公開しました

「このExcelファイル、マクロが入ってるけど開いて大丈夫?」

そんな不安を感じたことはありませんか?

外部から受け取ったExcelファイルにマクロが含まれていると、悪意のあるコードが実行される可能性があります。かといって、マクロを手動で除去するのは手間がかかる。

そこで、ワンクリックでマクロを除去できるツールを作りました。

Excel Macro Removerとは

マクロ付きExcelファイル(.xlsm)をアップロードするだけで、マクロを除去した.xlsxファイルをダウンロードできるツールです。

特徴:

  • ドラッグ&ドロップで簡単操作
  • 書式・数式・レイアウトは完全保持
  • 100MBまでの大容量ファイルに対応

なぜ作ったのか

業務でExcelファイルをやり取りする中で、マクロ付きファイルを受け取ることがあります。

  • 「マクロは使わないけど、データは必要」
  • 「セキュリティポリシーでマクロを有効にできない」
  • 「マクロなしで他の人に共有したい」

こんな場面で、手軽にマクロだけを除去できるツールがあれば便利だと思いました。

技術スタック

今回のツールは以下の技術で作りました:

  • Flask - 軽量なPython Webフレームワーク
  • openpyxl - ExcelファイルをPythonで操作
  • pywebview - デスクトップアプリ化

openpyxlは.xlsmファイルを読み込む際、デフォルトでマクロを読み込みません。そのため、読み込んだワークブックを.xlsxとして保存するだけで、自然にマクロが除去されます。

デスクトップアプリ版も

Webアプリ版に加えて、Windows用のデスクトップアプリ(.exe) も用意しています。

PyInstallerを使って単一の実行ファイルにパッケージ化しているので、Pythonがインストールされていない環境でも使えます。大容量ファイルを処理したい場合や、オフライン環境で使いたい場合におすすめです。

GitHubで公開中

ソースコードはGitHubで公開しています:

daichitsuchiya39-creator/macro-remover-for-excel

Excel Toolsシリーズ

このツールは、Excel作業を効率化する「Excel Tools」シリーズの第2弾です。

今後も、Excelの「ちょっと面倒な作業」を自動化するツールを増やしていく予定です。

まとめ

マクロ付きExcelファイルを安全に扱いたいとき、ぜひ Excel Macro Remover を試してみてください。

「こんな機能がほしい」というリクエストがあれば、お気軽にどうぞ!