Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import tkinter as tk
- from tkinter import messagebox
- import ctypes
- import pandas as pd
- import os
- EXCEL_FILE = "名簿.xlsx"
- user32 = ctypes.windll.user32
- imm32 = ctypes.windll.imm32
- def set_ime(on=True):
- hwnd = user32.GetForegroundWindow()
- hIMC = imm32.ImmGetContext(hwnd)
- imm32.ImmSetOpenStatus(hIMC, on)
- imm32.ImmReleaseContext(hwnd, hIMC)
- def on_focus(event, ime_on=True):
- set_ime(ime_on)
- def save_to_excel():
- sei = sei_entry.get()
- mei = mei_entry.get()
- if os.path.exists(EXCEL_FILE):
- df_existing = pd.read_excel(EXCEL_FILE)
- else:
- df_existing = pd.DataFrame(columns=["苗字", "名前"])
- new_data = pd.DataFrame([[sei, mei]], columns=["苗字", "名前"])
- df_all = pd.concat([df_existing, new_data], ignore_index=True)
- df_all.to_excel(EXCEL_FILE, index=False)
- sei_entry.delete(0, tk.END)
- mei_entry.delete(0, tk.END)
- messagebox.showinfo("保存完了", "データをExcelに保存しました。")
- root = tk.Tk()
- root.title("メンバー登録")
- root.geometry("360x360")
- tk.Label(root, text="苗字").grid(row=0, column=0, padx=10, pady=5)
- sei_entry = tk.Entry(root)
- sei_entry.grid(row=0, column=1, padx=10, pady=5)
- sei_entry.bind("<FocusIn>", lambda e: on_focus(e, True))
- tk.Label(root, text="名前").grid(row=1, column=0, padx=10, pady=5)
- mei_entry = tk.Entry(root)
- mei_entry.grid(row=1, column=1, padx=10, pady=5)
- mei_entry.bind("<FocusIn>", lambda e: on_focus(e, True))
- save_button = tk.Button(root, text="Excelに保存", command=save_to_excel)
- save_button.grid(row=2, column=0, columnspan=2, pady=10)
- root.mainloop()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement