【業務自動化】チャプター2-5:ツールにダイアログウィンドウを追加しよう

一つ前のページでは ツールにエラー処理を追加 しました。
今回は ダイアログウィンドウ を追加しましょう。
Chapter1:PythonでExcelを操作しよう
Chapter2:PyInstallerで自動化ツールを(.exe)作ろう
・Chapter2-1:Pythonスクリプトを実行ファイルに変換しよう
・Chapter2-2:表記ゆれを一瞬で直す置換マシンを作ろう
・Chapter2-3:置換の対象ファイルを増やそう
・Chapter2-4:エラー処理を追加しよう
・Chapter2-5:ダイアログウィンドウを追加しよう ◁今回はここ
Chapter3:便利な自動化ツールを5つ作ろう
Chapter4:Webスクレイピング入門
Chapter5:自動化ツールを作って稼ごう
これまでの自動化ツールは、コンソール(黒い画面)で動作していました。
しかしPythonには Tkinter(ティーキンター) という標準ライブラリを使って、マウスで操作できる「ダイアログウィンドウ」や「ボタン」を表示する方法があります。
この記事では、これまでに作成した「表記ゆれ一斉置換ツール」にTkinterを使った GUI(グラフィカル・ユーザー・インターフェース)を追加し、より使いやすいツールに進化させることを目標とします。
本記事は前半は無料。後半は会員向けの有料記事です。
業務自動化の全ての記事セットが今だけ 1980円 ⇒ 980円。
どこよりも安いこの教材を、是非ご活用下さい^^
- もくじ
-
青字は無料部分。白字は会員向け部分です。
- Tkinterとは|Python標準GUIの基礎とできること
- Tkinterの概要とできることの具体例
- 代表的なTkinterウィジェットと関数
- 自動化ツールにダイアログを追加|サンプルスクリプト
- サンプルスクリプトの解説|Tkinterダイアログ実装のポイント
- Tkinterを使うためのモジュールを読み込む
- ウィンドウを作成してタイトルを設定する
- 選択値の保持(StringVar)とラベル表示
- Radiobuttonで拡張子を選択(txt/csv)
- OKボタンのイベントで値を取得
- PyInstallerでEXE化・まとめ
- PyInstallerでツール化しよう
- まとめ
どこよりも安いこの教材を、是非ご活用下さい。
- Tkinterとは|Python標準GUIの基礎とできること
Tkinterとは|Python標準GUIの基礎とできること
Pythonで業務自動化を進めていくと、「スクリプトを実行するたびにコマンドラインを開くのは少し面倒だな」と感じたり、「プログラミングに詳しくない人でも使えるようにしたい」と思うことがあります。
そんなときに役立つのが Tkinter(ティーキンター) です。
TkinterはPythonに標準で搭載されているGUI(Graphical User Interface)ライブラリで、追加のインストールをしなくてもすぐに利用できます。

これを使えば、ボタンや入力欄、ファイルを選ぶダイアログなどを簡単に作成でき、業務自動化スクリプトを「誰でも扱えるアプリ」に進化させることができます。
コマンド入力に慣れていない人でも、GUIのボタンをクリックするだけで処理を実行できるようになるのです。


Tkinterの概要とできることの具体例
Tkinterを使うと、以下のような操作を簡単に実現できます。
- Excelファイルを選ぶファイルダイアログを表示する
- 処理の進行や結果をメッセージボックスで通知する
- ボタンをクリックしてスクリプトを実行する
- 入力フォームから条件を指定して自動化処理を動かす
このように、業務自動化でよくある「ファイル選択」「実行ボタン」「確認メッセージ」などは、ほとんどTkinterだけで対応可能です。
たとえば「Excelファイルを選んで、そのパスを表示する簡単なGUIアプリ」のコードを見てみましょう。
以下のコードをコピーし、実行してみて下さい。
# Tkinter本体と、ダイアログやメッセージ表示に使うモジュールを読み込む
import tkinter
from tkinter import filedialog, messagebox
# ファイル選択処理を行う関数
def select_file():
# Excelファイルを対象にしたダイアログを開く
filepath = filedialog.askopenfilename(
filetypes=[("Excel files", "*.xlsx;*.xlsm")]
)
if filepath: # ファイルが選ばれた場合のみ処理を実行
messagebox.showinfo("選択されたファイル", filepath)
# メインウィンドウを作成
root = tkinter.Tk() # Tk()クラスをインスタンス生成
root.title("ファイル選択サンプル") # ウィンドウのタイトルを設定
root.geometry("300x150") # ウィンドウのサイズ(幅×高さ)を指定
# メインウィンドウ内にボタンを作成
button = tkinter.Button(root, text="Excelファイルを選ぶ", command=select_file)
button.pack(pady=40) # packでボタンを配置。padyは上下の余白。
# イベントループを開始
root.mainloop()このサンプルでは「Excelファイルを選ぶ」ボタンをクリックすると、ファイル選択ダイアログが開き、選んだファイルのパスがポップアップで表示されます。
openpyxlと組み合わせれば、そのファイルを読み込んで自動処理する仕組みが簡単に作れるようになります。
代表的なTkinterウィジェットと関数
Tkinterには多くの機能がありますが、まずは以下を覚えておくと実用的なGUIを作れるようになります。
| 関数・部品名 | 主な引数・オプション | 説明 |
|---|---|---|
Tk()クラス | (引数なしで使うのが基本) | メインウィンドウを生成する |
Labelクラス | Label(parent, text="表示文字列") | テキストを表示するラベルを作成する |
Buttonクラス | Button(parent, text="ボタン名", command=関数名) | ボタンを作成し、クリック時の処理を指定できる |
Entryクラス | Entry(parent, width=文字数) | 1行の入力欄を作成する |
filedialog.askopenfilename()関数 | filetypes=[("名前", "*.拡張子")] | ファイル選択ダイアログを開く(表示する拡張子を指定できる) |
messagebox.showinfo()関数 | messagebox.showinfo("タイトル", "メッセージ") | 情報メッセージを表示する |
messagebox.showerror()関数 | messagebox.showerror("タイトル", "エラーメッセージ") | エラーメッセージを表示する |
mainloop()関数 | (引数なしで使う) | GUIを表示し続けるためのループを開始する |
これらを組み合わせるだけで、Excel自動化スクリプトを「GUI付きアプリ」として提供できるようになります。
次の記事では、ここで紹介した要素を実際に使い、openpyxlと連携させた具体的なサンプルを作成していきます。

自動化ツールにダイアログを追加|サンプルスクリプト
実務では、利用者がPythonに詳しくない人である場合も多く、コマンド入力やエラーメッセージの読み取りが難しいケースがあります。
そのため、GUI(グラフィカル・ユーザー・インターフェース)を導入して、操作やエラー表示を視覚的にわかりやすくすることが重要です。
今回の改良ポイントは以下の通りです。
- Excelファイルが見つからないときに、エラーメッセージをダイアログで表示
- 置換対象のファイル形式を選択する際に、ラジオボタンを使って直感的に選べる
- 処理が完了したときに、結果をダイアログで通知
このようにツールにダイアログを追加することで、利用者は「何が起きているのか」を理解しやすくなり、安心して使えるようになります。
すでに購入済みの方はこちら


