GMP文書(清掃記録、教育訓練記録、製造記録など)の作成が、
テンプレとコピペ地獄になっている製薬現場の人向けに、
私が Python(xlwings + GUI)で帳票を自動作成した方法 をまとめる。
製薬業界では「GMPに準拠した文書管理」が必須だ。
その重要性は誰もが理解している。
だが実務レベルでは、
- 毎回テンプレを開き
- 日付やロットを打ち替え
- 別ファイルからコピペし
- ファイル名を手で整え
- 保存場所を間違えないように気を張る
──こうした地味で消耗する作業に、毎日時間が溶けていく。
「この作業、なんでまだ手作業なんだろう」
そう思ったのが、すべての始まりだった。
なぜGMP文書はここまで面倒なのか

なぜGMP文書はここまで面倒なのか
たとえば清掃記録ひとつ取っても、
- 清掃対象のエリア・機器の特定
- 清掃日・時間・担当者
- バージョン管理された様式の使用
- 手書きサイン・押印
と、工程は多い。
しかもこれを「毎日」「全員分」やる。
重要なのは分かっている。
だが、作業としてはあまりにも単純で、消耗が激しい。
だから思った。
これ、Pythonで自動化できるのでは?
マクロ(VBA)では越えられない壁を感じた理由

私はもともと、Excel VBAで業務改善をしていた。
処理としては十分だった。
それでも、次の壁にぶつかった。
① 評価が上がらない
どれだけ時間を削減しても、
「ああ、マクロなんですね」
で終わる。
“内職扱い”され、DXとして見られない。
② 展開できない
- マクロがセキュリティで止まる
- Excelのバージョンで壊れる
- 「怖い」と言われる
結局、自分の部署止まりになる。
③ 属人化する
修正できるのは自分だけ。
担当が変わると破綻する。
④ DXとして語れない
Python、RPA、クラウドが語られる時代に
「マクロで改善しました」は土俵にすら乗らない。
そこで、Pythonへ移行した。
実際にPythonで作成したGMP文書
Pythonへの移行を決意してから、いくつかのGMP関連文書を自動化した。
すでに運用レベルまで作り込んだのは以下の2つ。
現在、実運用レベルまで作り込んだのは次の2つだ。
✅ 清掃記録書の自動作成ツール
- PySide6製GUIで
- 清掃対象
- 担当者
- 日付
を入力
- xlwingsでExcelテンプレへ差し込み
- ロット+日付で自動命名
- 操作ログをCSV出力
Excelの見た目や計算式はそのまま活かせる。
マクロとも共存できる。
✅ 教育訓練記録の自動作成ツール
- GUIで
- 受講者
- 教育内容
- 実施日
を選択
- テンプレへ転記 → 自動保存
- 台帳も同時更新
「誰が、いつ、何を受けたか」が即座に分かる。
やってみて分かったこと
技術的には難しくない。
一番の壁は文化だ。
- 「紙じゃないと不安」
- 「電子はGMP違反では?」
そう言われる。
それでも、
現場の負担は確実に減った。
これは“革命”ではない。
だが、現実的な第一歩だった。
今後やりたいこと
- 製造記録の半自動化
- 帳票の一括出力
- ChatGPT連携による逸脱報告草案作成
GMPとDXは、対立しない。
設計次第で、両立できる。
おわりに|現場から始めるDX
GMP文書の自動化は、単なる効率化ではない。
それは、
「誰もやりたがらない地味な作業」を、
誰かがちゃんと改善しようとした証
だ。
もしあなたが今、
- 「この作業、意味あるのか?」
- 「もっと楽にできるはずだ」
そう感じながら帳票を作っているなら――
その感覚は間違っていない。
それは、現場DXの芽だ。
Pythonは、その芽を形にできる道具だった。
私は、そう実感している。
使用ライブラリ
- xlwings:Excel操作(.xlsm対応、マクロ共存)
- PySide6:GUI
- datetime:日付処理
- os / csv:ファイル操作・ログ出力




