パイソンで作ったランチャーアプリ

以下の書籍を参考にして作ったファイル・ランチャー。作業の開始時に毎回2つのファイルを開く。小さいけど面倒なその作業負荷を大幅に短縮できた。

RUNボタンを押すと、2つのファイルを同時に開く。

ちゃんとした記事にまとめてから公開しようかと思っていたけどいつになるかわからないし、自分の備忘録という意味もあるので。時間があるときに少しずつ加筆予定。

用途

データ分析とレポート作成を始めるときの初動負荷を削減することが目的。

利用者がグーグルフォームでデータ入力、グーグルスプレッドシート(GSS)にデータがアップロードされる。それをカテゴライズ・集計し、エクセルでレポート作成している。

2画面表示し、左画面でGSSを見ながら、右画面でレポートを作成するが、GSSとエクセルのファイルは理由があって別々のフォルダに収納。毎回フォルダからファイルを開くの面倒。Spotlightでファイル名から検索できるが、入力も毎回だと面倒。

コード

書籍の3章を参考に作成。

# インポート
import tkinter as tk
from tkinter import ttk
import subprocess
import configparser

# comfigparserのインスタンス化
config = configparser.ConfigParser()


# パスの取得@Mac=option+command+c
# 「○○のパス」と記述の箇所は、全て上記で取得
### 関数 ###
# Run1
def run1_func():
   # 読み込む設定ファイルを指定
   config.read("configファイルのパス")
   # 設定ファイルから値の取得
   read_base = config["Run1"]
   app1 =read_base.get("グーグルスプレッドシートへのパス")
   app2 =read_base.get("エクセルアプリへのパス")
   
   #chromeの起動 
   chrome = "Chromeのパス"
   # グーグルスプレッドシートを開く
   subprocess.Popen(["open", app1])
   
   # エクセルの起動
   xls = "/Applications/Microsoft Excel.app"
   subprocess.run(["open", xls, app2])
       
# settingファイル
def set_func():
   # テキストエディットのパス
   textedit = "テキストエディットのパス"
   # 設定ファイルを開く
   subprocess.run(["open", "-a", textedit, "コンフィグファイルのパス"])
# Mnual
def man_func():
   # マニュアルを開く
   subprocess.run(["open", "マニュアルのパス"])

### GUI ###
# ウインドウの作成
root = tk.Tk()
# ラベルフレーム
frame = ttk.Labelframe(root, text = "アプリ名", padding =  10)
frame.grid(row = 0, column = 0, padx=0, pady=  0)
# ボタン
run_button1 = tk.Button(frame, text = "RUN", command = run1_func)
run_button1.grid(row = 0, column = 0, padx= 50)

 #メニューバーの作成 
menubar = tk.Menu(root, tearoff= 0)
root.configure(menu = menubar)
# Fileメニュ
filemenu = tk.Menu(menubar)
menubar.add_cascade(label = "File", menu = filemenu)
# >settingをメニューに追加
filemenu.add_command(label = "Setting", command = set_func)
# --- セパレータ ---
filemenu.add_separator()
# >Exit
filemenu.add_command(label = "Exit",
                    command = lambda: root.destroy())
# helpメニュー
helpmenu = tk.Menu(menubar)
menubar.add_cascade(label = "Help", menu = helpmenu, command = man_func)

# ウインドウ状態の維持
root.mainloop()


開くファイルの設定

1.アプリのメニューから設定

settingメニューからファイルを開く

2.コンフィグファイルから設定

コンフィグファイルをテキストエディタで開き、"app"の右にファイルパスを入力することで行う。


この記事が気に入ったらサポートをしてみませんか?