diff --git a/.vscode/launch.json b/.vscode/launch.json index 717e445..0cd46a5 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -12,10 +12,10 @@ "console": "integratedTerminal", }, { - "name": "a700_産生作業用工作暫存檔", + "name": "a700_重置漢字標音工作表", "type": "debugpy", "request": "launch", - "program": "a700_産生作業用工作暫存檔.py", + "program": "a700_重置漢字標音工作表.py", "console": "integratedTerminal", }, { diff --git a/Ho_Lok_Ue.db b/Ho_Lok_Ue.db index 012c843..423d838 100644 Binary files a/Ho_Lok_Ue.db and b/Ho_Lok_Ue.db differ diff --git "a/a709_\351\207\215\347\275\256\346\274\242\345\255\227\345\204\262\345\255\230\346\240\274\347\224\250\350\211\262.py" "b/a700_\351\207\215\347\275\256\346\274\242\345\255\227\346\250\231\351\237\263\345\267\245\344\275\234\350\241\250.py" similarity index 68% rename from "a709_\351\207\215\347\275\256\346\274\242\345\255\227\345\204\262\345\255\230\346\240\274\347\224\250\350\211\262.py" rename to "a700_\351\207\215\347\275\256\346\274\242\345\255\227\346\250\231\351\237\263\345\267\245\344\275\234\350\241\250.py" index a519253..57d2bd1 100644 --- "a/a709_\351\207\215\347\275\256\346\274\242\345\255\227\345\204\262\345\255\230\346\240\274\347\224\250\350\211\262.py" +++ "b/a700_\351\207\215\347\275\256\346\274\242\345\255\227\346\250\231\351\237\263\345\267\245\344\275\234\350\241\250.py" @@ -34,7 +34,28 @@ print("無法執行,可能原因:(1) 未指定輸入檔案;(2) 未找到作用中的 Excel 工作簿") sys.exit(2) +#-------------------------------------------------------------------------- +# 將儲存格內的舊資料清除 +#-------------------------------------------------------------------------- +sheet = wb.sheets['漢字注音'] # 選擇工作表 +sheet.activate() # 將「漢字注音」工作表設為作用中工作表 +sheet.range('A1').select() # 將 A1 儲存格設為作用儲存格 + +total_rows = wb.names['每頁總列數'].refers_to_range.value +cells_per_row = 4 +end_of_rows = int((total_rows * cells_per_row ) + 2) +cells_range = f'D3:R{end_of_rows}' + +sheet.range(cells_range).clear_contents() # 清除 C3:R{end_of_row} 範圍的內容 + +# 獲取 V3 儲存格的合併範圍 +merged_range = sheet.range('V3').merge_area +# 清空合併儲存格的內容 +merged_range.clear_contents() + +#-------------------------------------------------------------------------- # 將待注音的【漢字儲存格】,文字顏色重設為黑色(自動 RGB: 0, 0, 0);填漢顏色重設為無填滿 +#-------------------------------------------------------------------------- reset_han_ji_cells(wb) # 將檔案存放路徑設為【專案根目錄】之下 diff --git "a/a701_\344\275\234\346\245\255\344\270\255\346\264\273\351\240\201\346\252\224\345\241\253\345\205\245\346\274\242\345\255\227.py" "b/a701_\344\275\234\346\245\255\344\270\255\346\264\273\351\240\201\346\252\224\345\241\253\345\205\245\346\274\242\345\255\227.py" index 9a1a3ff..cad0881 100644 --- "a/a701_\344\275\234\346\245\255\344\270\255\346\264\273\351\240\201\346\252\224\345\241\253\345\205\245\346\274\242\345\255\227.py" +++ "b/a701_\344\275\234\346\245\255\344\270\255\346\264\273\351\240\201\346\252\224\345\241\253\345\205\245\346\274\242\345\255\227.py" @@ -4,6 +4,8 @@ import xlwings as xw +from mod_file_access import get_han_ji_khoo, get_sound_type +from p702_Ca_Han_Ji_Thak_Im import ca_han_ji_thak_im from p709_reset_han_ji_cells import reset_han_ji_cells from p710_thiam_han_ji import fill_hanji_in_cells @@ -41,6 +43,14 @@ # 將待注音的漢字填入 fill_hanji_in_cells(wb) +# A731: 自動為漢字查找讀音,並抄寫到漢字的上方(拼音)及下方(注音)。 +type = get_sound_type(wb) +han_ji_khoo = get_han_ji_khoo(wb) +if han_ji_khoo == "河洛話": + ca_han_ji_thak_im(wb, sheet_name='漢字注音', cell='V3', hue_im="白話音", han_ji_khoo="河洛話", db_name='Ho_Lok_Ue.db', module_name='mod_河洛話', function_name='han_ji_ca_piau_im') +else: + ca_han_ji_thak_im(wb, sheet_name='漢字注音', cell='V3', hue_im="文讀音", han_ji_khoo="廣韻", db_name='Kong_Un.db', module_name='mod_廣韻', function_name='han_ji_ca_piau_im') + # 將檔案存放路徑設為【專案根目錄】之下 try: file_name = str(wb.names['TITLE'].refers_to_range.value).strip() diff --git "a/a708_\346\270\205\351\231\244\345\267\262\345\241\253\345\205\245\344\271\213\346\274\242\345\255\227.py" "b/a708_\346\270\205\351\231\244\345\267\262\345\241\253\345\205\245\344\271\213\346\274\242\345\255\227.py" new file mode 100644 index 0000000..b83f932 --- /dev/null +++ "b/a708_\346\270\205\351\231\244\345\267\262\345\241\253\345\205\245\344\271\213\346\274\242\345\255\227.py" @@ -0,0 +1,52 @@ +import os +import sys +from pathlib import Path + +import xlwings as xw + +# ========================================================================= +# 取得專案根目錄。 +# ========================================================================= +# 獲取當前檔案的路徑 +current_file_path = Path(__file__).resolve() + +# 專案根目錄 +project_root = current_file_path.parent + +print(f"專案根目錄為: {project_root}") + +# ========================================================================= +# 若無指定輸入檔案,則獲取當前作用中的 Excel 檔案並另存新檔。 +# ========================================================================= +wb = None +# 使用已打開且處於作用中的 Excel 工作簿 +try: + # 嘗試獲取當前作用中的 Excel 工作簿 + wb = xw.apps.active.books.active +except Exception as e: + print(f"發生錯誤: {e}") + print("無法找到作用中的 Excel 工作簿") + sys.exit(2) + +if not wb: + print("無法執行,可能原因:(1) 未指定輸入檔案;(2) 未找到作用中的 Excel 工作簿") + sys.exit(2) + +# 選擇指定的工作表 +sheet = wb.sheets['漢字注音'] # 選擇工作表 +sheet.activate() # 將「漢字注音」工作表設為作用中工作表 +sheet.range('A1').select() # 將 A1 儲存格設為作用儲存格 + +# 每頁最多處理的列數 +TOTAL_ROWS = int(wb.names['每頁總列數'].refers_to_range.value) # 從名稱【每頁總列數】取得值 +# 每列最多處理的字數 +CHARS_PER_ROW = int(wb.names['每列總字數'].refers_to_range.value) # 從名稱【每列總字數】取得值 + +#-------------------------------------------------------------------------- +# 將儲存格內的舊資料清除 +#-------------------------------------------------------------------------- +end_of_rows = int((TOTAL_ROWS * CHARS_PER_ROW ) + 2) +cells_range = f'D3:R{end_of_rows}' + +sheet.range(cells_range).clear_contents() # 清除 C3:R{end_of_row} 範圍的內容 + diff --git "a/a700_\347\224\243\347\224\237\344\275\234\346\245\255\347\224\250\345\267\245\344\275\234\346\232\253\345\255\230\346\252\224.py" "b/a709_\347\224\243\347\224\237\344\275\234\346\245\255\347\224\250\345\267\245\344\275\234\346\232\253\345\255\230\346\252\224.py" similarity index 100% rename from "a700_\347\224\243\347\224\237\344\275\234\346\245\255\347\224\250\345\267\245\344\275\234\346\232\253\345\255\230\346\252\224.py" rename to "a709_\347\224\243\347\224\237\344\275\234\346\245\255\347\224\250\345\267\245\344\275\234\346\232\253\345\255\230\346\252\224.py" diff --git "a/output6/\343\200\220\346\262\263\346\264\233\350\251\261\346\263\250\351\237\263\343\200\221\343\200\212\350\230\255\344\272\255\351\233\206\345\272\217\343\200\213\343\200\220\346\262\263\346\264\233\347\231\275\350\251\261\351\237\263\343\200\221.xlsx" "b/output6/\343\200\220\346\262\263\346\264\233\350\251\261\346\263\250\351\237\263\343\200\221\343\200\212\350\230\255\344\272\255\351\233\206\345\272\217\343\200\213\343\200\220\346\262\263\346\264\233\347\231\275\350\251\261\351\237\263\343\200\221.xlsx" new file mode 100644 index 0000000..73f3e74 Binary files /dev/null and "b/output6/\343\200\220\346\262\263\346\264\233\350\251\261\346\263\250\351\237\263\343\200\221\343\200\212\350\230\255\344\272\255\351\233\206\345\272\217\343\200\213\343\200\220\346\262\263\346\264\233\347\231\275\350\251\261\351\237\263\343\200\221.xlsx" differ diff --git "a/output6/\343\200\220\346\262\263\346\264\233\350\251\261\346\263\250\351\237\263\343\200\221\343\200\212\350\230\255\345\272\217\351\233\206\345\272\217\343\200\213\343\200\220\346\262\263\346\264\233\347\231\275\350\251\261\351\237\263\343\200\221.xlsx" "b/output6/\343\200\220\346\262\263\346\264\233\350\251\261\346\263\250\351\237\263\343\200\221\343\200\212\350\230\255\345\272\217\351\233\206\345\272\217\343\200\213\343\200\220\346\262\263\346\264\233\347\231\275\350\251\261\351\237\263\343\200\221.xlsx" new file mode 100644 index 0000000..b9bd262 Binary files /dev/null and "b/output6/\343\200\220\346\262\263\346\264\233\350\251\261\346\263\250\351\237\263\343\200\221\343\200\212\350\230\255\345\272\217\351\233\206\345\272\217\343\200\213\343\200\220\346\262\263\346\264\233\347\231\275\350\251\261\351\237\263\343\200\221.xlsx" differ diff --git "a/output6/\343\200\220\346\262\263\346\264\233\350\251\261\346\263\250\351\237\263\343\200\221\343\200\212\346\241\203\350\212\261\345\234\222\350\250\230\343\200\213\343\200\220\346\262\263\346\264\233\347\231\275\350\251\261\351\237\263\343\200\221.xlsx" "b/output6/\343\200\220\346\262\263\346\264\233\350\251\261\346\263\250\351\237\263\343\200\221\343\200\212\350\251\251\347\266\223\343\200\202\345\221\250\345\215\227\343\200\202\346\241\203\345\244\255\343\200\213\343\200\220\346\262\263\346\264\233\347\231\275\350\251\261\351\237\263\343\200\221.xlsx" similarity index 90% rename from "output6/\343\200\220\346\262\263\346\264\233\350\251\261\346\263\250\351\237\263\343\200\221\343\200\212\346\241\203\350\212\261\345\234\222\350\250\230\343\200\213\343\200\220\346\262\263\346\264\233\347\231\275\350\251\261\351\237\263\343\200\221.xlsx" rename to "output6/\343\200\220\346\262\263\346\264\233\350\251\261\346\263\250\351\237\263\343\200\221\343\200\212\350\251\251\347\266\223\343\200\202\345\221\250\345\215\227\343\200\202\346\241\203\345\244\255\343\200\213\343\200\220\346\262\263\346\264\233\347\231\275\350\251\261\351\237\263\343\200\221.xlsx" index e6a536a..b51c5af 100644 Binary files "a/output6/\343\200\220\346\262\263\346\264\233\350\251\261\346\263\250\351\237\263\343\200\221\343\200\212\346\241\203\350\212\261\345\234\222\350\250\230\343\200\213\343\200\220\346\262\263\346\264\233\347\231\275\350\251\261\351\237\263\343\200\221.xlsx" and "b/output6/\343\200\220\346\262\263\346\264\233\350\251\261\346\263\250\351\237\263\343\200\221\343\200\212\350\251\251\347\266\223\343\200\202\345\221\250\345\215\227\343\200\202\346\241\203\345\244\255\343\200\213\343\200\220\346\262\263\346\264\233\347\231\275\350\251\261\351\237\263\343\200\221.xlsx" differ diff --git "a/output6/\343\200\220\346\262\263\346\264\233\350\251\261\346\263\250\351\237\263\343\200\221\343\200\212\350\251\251\347\266\223\343\200\202\345\260\217\351\233\205\343\200\202\346\216\241\350\226\207\343\200\213\343\200\220\346\262\263\346\264\233\347\231\275\350\251\261\351\237\263\343\200\221.xlsx" "b/output6/\343\200\220\346\262\263\346\264\233\350\251\261\346\263\250\351\237\263\343\200\221\343\200\212\350\251\251\347\266\223\343\200\202\345\260\217\351\233\205\343\200\202\346\216\241\350\226\207\343\200\213\343\200\220\346\262\263\346\264\233\347\231\275\350\251\261\351\237\263\343\200\221.xlsx" new file mode 100644 index 0000000..b2d7f38 Binary files /dev/null and "b/output6/\343\200\220\346\262\263\346\264\233\350\251\261\346\263\250\351\237\263\343\200\221\343\200\212\350\251\251\347\266\223\343\200\202\345\260\217\351\233\205\343\200\202\346\216\241\350\226\207\343\200\213\343\200\220\346\262\263\346\264\233\347\231\275\350\251\261\351\237\263\343\200\221.xlsx" differ diff --git a/p709_reset_han_ji_cells.py b/p709_reset_han_ji_cells.py index 050f3d8..d3fa7c7 100644 --- a/p709_reset_han_ji_cells.py +++ b/p709_reset_han_ji_cells.py @@ -1,10 +1,14 @@ import xlwings as xw +#-------------------------------------------------------------------------- +# 將待注音的【漢字儲存格】,文字顏色重設為黑色(自動 RGB: 0, 0, 0);填漢顏色重設為無填滿 +#-------------------------------------------------------------------------- def reset_han_ji_cells(wb, sheet_name='漢字注音'): # 選擇指定的工作表 sheet = wb.sheets[sheet_name] sheet.activate() # 將「漢字注音」工作表設為作用中工作表 + sheet.range('A1').select() # 將 A1 儲存格設為作用儲存格 # 每頁最多處理的列數 TOTAL_ROWS = int(wb.names['每頁總列數'].refers_to_range.value) # 從名稱【每頁總列數】取得值