diff --git a/.vscode/launch.json b/.vscode/launch.json
index 0cd46a5..57ec557 100644
--- a/.vscode/launch.json
+++ b/.vscode/launch.json
@@ -40,10 +40,17 @@
"console": "integratedTerminal",
},
{
- "name": "a704_批次式查找及填入漢字標音",
+ "name": "a704_製作其它漢字標音",
"type": "debugpy",
"request": "launch",
- "program": "a704_批次式查找及填入漢字標音.py",
+ "program": "a704_製作其它漢字標音.py",
+ "console": "integratedTerminal",
+ },
+ {
+ "name": "a710_批次式漢字標音及網頁製作",
+ "type": "debugpy",
+ "request": "launch",
+ "program": "a710_批次式漢字標音及網頁製作.py",
"console": "integratedTerminal",
},
{
diff --git "a/Documents/\347\231\275\350\251\261\351\237\263/\346\262\263\346\264\233\350\251\261_\346\274\242\345\255\227\345\272\253.xlsx" "b/Documents/\347\231\275\350\251\261\351\237\263/\346\262\263\346\264\233\350\251\261_\346\274\242\345\255\227\345\272\253.xlsx"
index 3336c20..452102b 100644
Binary files "a/Documents/\347\231\275\350\251\261\351\237\263/\346\262\263\346\264\233\350\251\261_\346\274\242\345\255\227\345\272\253.xlsx" and "b/Documents/\347\231\275\350\251\261\351\237\263/\346\262\263\346\264\233\350\251\261_\346\274\242\345\255\227\345\272\253.xlsx" differ
diff --git a/Ho_Lok_Ue.db b/Ho_Lok_Ue.db
index 218f5d4..e9d99d1 100644
Binary files a/Ho_Lok_Ue.db and b/Ho_Lok_Ue.db differ
diff --git "a/a702_\346\237\245\346\211\276\345\217\212\345\241\253\345\205\245\346\274\242\345\255\227\346\250\231\351\237\263.py" "b/a702_\346\237\245\346\211\276\345\217\212\345\241\253\345\205\245\346\274\242\345\255\227\346\250\231\351\237\263.py"
index 5bc40d4..2980497 100644
--- "a/a702_\346\237\245\346\211\276\345\217\212\345\241\253\345\205\245\346\274\242\345\255\227\346\250\231\351\237\263.py"
+++ "b/a702_\346\237\245\346\211\276\345\217\212\345\241\253\345\205\245\346\274\242\345\255\227\346\250\231\351\237\263.py"
@@ -3,7 +3,12 @@
import xlwings as xw
-from mod_file_access import get_han_ji_khoo, get_sound_type
+from mod_file_access import (
+ copy_excel_sheet,
+ get_han_ji_khoo,
+ get_sound_type,
+ reset_han_ji_piau_im_cells,
+)
from p702_Ca_Han_Ji_Thak_Im import ca_han_ji_thak_im
# from p703_Kong_Un_Ca_Thak_Im import ca_han_ji_thak_im
diff --git "a/a703_\350\243\275\344\275\234\346\250\231\351\237\263\347\266\262\351\240\201.py" "b/a703_\350\243\275\344\275\234\346\250\231\351\237\263\347\266\262\351\240\201.py"
index dd3e506..c29e4f5 100644
--- "a/a703_\350\243\275\344\275\234\346\250\231\351\237\263\347\266\262\351\240\201.py"
+++ "b/a703_\350\243\275\344\275\234\346\250\231\351\237\263\347\266\262\351\240\201.py"
@@ -26,7 +26,7 @@
file_name = wb.name
print(f"檔案名稱: {file_name}")
-# 顯示「已輸入之拼音字母及注音符號」
+# 顯示「已輸入之拼音字母及注音符號」
# named_range = wb.names['顯示注音輸入'] # 選擇名為 "顯示注音輸入" 的命名範圍# 選擇名為 "顯示注音輸入" 的命名範圍
# named_range.refers_to_range.value = True
named_range = get_named_value(wb, '顯示注音輸入', True)
@@ -37,7 +37,8 @@
sheet.range('A1').select() # 將 A1 儲存格設為作用儲存格
# (2) A740: 將【漢字注音】工作表的內容,轉成 HTML 網頁檔案。
-tng_sing_bang_iah(wb, '漢字注音', 'V3')
+# tng_sing_bang_iah(wb, '漢字注音', 'V3')
+tng_sing_bang_iah(wb, '十五音', 'V3')
# (3) A750: 將 Tai_Gi_Zu_Im_Bun.xlsx 檔案,依 env 工作表的設定,另存新檔到指定目錄。
try:
@@ -51,9 +52,9 @@
).strip()
# 設定檔案輸出路徑,存於專案根目錄下的 output2 資料夾
-output_path = wb.names['OUTPUT_PATH'].refers_to_range.value
+output_path = wb.names['OUTPUT_PATH'].refers_to_range.value
new_file_path = os.path.join(
- ".\\{0}".format(output_path),
+ ".\\{0}".format(output_path),
f"【河洛話注音】{file_name}.xlsx")
# 儲存新建立的工作簿
diff --git "a/a704_\350\243\275\344\275\234\345\205\266\345\256\203\346\274\242\345\255\227\346\250\231\351\237\263.py" "b/a704_\350\243\275\344\275\234\345\205\266\345\256\203\346\274\242\345\255\227\346\250\231\351\237\263.py"
new file mode 100644
index 0000000..e08afc6
--- /dev/null
+++ "b/a704_\350\243\275\344\275\234\345\205\266\345\256\203\346\274\242\345\255\227\346\250\231\351\237\263.py"
@@ -0,0 +1,67 @@
+import os
+import sys
+
+import xlwings as xw
+
+from mod_file_access import copy_excel_sheet, reset_han_ji_piau_im_cells
+from p704_漢字以十五音標注音 import zap_goo_im_piau_im
+
+# from p703_Kong_Un_Ca_Thak_Im import ca_han_ji_thak_im
+
+# (0) 取得專案根目錄。
+# 使用已打開且處於作用中的 Excel 工作簿
+try:
+ wb = xw.apps.active.books.active
+except Exception as e:
+ print(f"發生錯誤: {e}")
+ print("無法找到作用中的 Excel 工作簿")
+ sys.exit(2)
+
+# 獲取活頁簿的完整檔案路徑
+file_path = wb.fullname
+print(f"完整檔案路徑: {file_path}")
+
+# 獲取活頁簿的檔案名稱(不包括路徑)
+file_name = wb.name
+print(f"檔案名稱: {file_name}")
+
+# 顯示「已輸入之拼音字母及注音符號」
+named_range = wb.names['顯示注音輸入'] # 選擇名為 "顯示注音輸入" 的命名範圍# 選擇名為 "顯示注音輸入" 的命名範圍
+named_range.refers_to_range.value = True
+
+# (1) A720: 將 V3 儲存格內的漢字,逐個填入標音用方格。
+sheet = wb.sheets['漢字注音'] # 選擇工作表
+sheet.activate() # 將「漢字注音」工作表設為作用中工作表
+sheet.range('A1').select() # 將 A1 儲存格設為作用儲存格
+
+# (2) 複製【漢字注音】工作表,並將【漢字注音】工作表已有漢字標清除(不含上列之【台語音標】)
+# copy_excel_sheet(wb, '漢字注音', '十五音')
+reset_han_ji_piau_im_cells(wb, '十五音')
+zap_goo_im_piau_im(wb, sheet_name='十五音', cell='V3', hue_im="白話音")
+
+# (3) A740: 將【漢字注音】工作表的內容,轉成 HTML 網頁檔案。
+# tng_sing_bang_iah(wb, '漢字注音', 'V3')
+
+# (4) A750: 將 Tai_Gi_Zu_Im_Bun.xlsx 檔案,依 env 工作表的設定,另存新檔到指定目錄。
+try:
+ file_name = str(wb.names['TITLE'].refers_to_range.value).strip()
+except KeyError:
+ # print("未找到命名範圍 'TITLE',使用預設名稱")
+ # file_name = "default_file_name.xlsx" # 提供一個預設檔案名稱
+ setting_sheet = wb.sheets["env"]
+ file_name = str(
+ setting_sheet.range("C4").value
+ ).strip()
+
+# 設定檔案輸出路徑,存於專案根目錄下的 output2 資料夾
+output_path = wb.names['OUTPUT_PATH'].refers_to_range.value
+new_file_path = os.path.join(
+ ".\\{0}".format(output_path),
+ f"【河洛話注音】{file_name}.xlsx")
+
+# 儲存新建立的工作簿
+wb.save(new_file_path)
+
+# 保存 Excel 檔案
+# wb.close()
+
diff --git "a/docs/\343\200\212\346\255\270\345\216\273\344\276\206\350\276\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.html" "b/docs/\343\200\212\346\255\270\345\216\273\344\276\206\350\276\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.html"
new file mode 100644
index 0000000..03cb91a
--- /dev/null
+++ "b/docs/\343\200\212\346\255\270\345\216\273\344\276\206\350\276\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.html"
@@ -0,0 +1,425 @@
+
+
+
+
+ 《歸去來辭》【河洛白話音】
+
+
+
+
+ 《歸去來辭》【河洛白話音】
+
+
+
+歸
+去
+來
+兮
+!
+田
+園
+將
+蕪
+胡
+不
+歸
+?
+既
+自
+以
+心
+為
+形
+役
+,
+奚
+惆
+悵
+而
+獨
+悲
+?
+悟
+已
+往
+之
+不
+諫
+,
+知
+來
+者
+之
+可
+追
+;
+實
+迷
+途
+其
+未
+遠
+,
+覺
+今
+是
+而
+昨
+非
+。
+舟
+遙
+遙
+以
+輕
+揚
+,
+風
+飄
+飄
+而
+吹
+衣
+。
+問
+征
+夫
+以
+前
+路
+,
+恨
+晨
+光
+之
+熹
+微
+。
+乃
+瞻
+衡
+宇
+,
+載
+欣
+載
+奔
+。
+僮
+仆
+歡
+迎
+,
+稚
+子
+候
+門
+。
+三
+徑
+就
+荒
+,
+松
+菊
+猶
+存
+。
+攜
+幼
+入
+室
+,
+有
+酒
+盈
+樽
+。
+引
+壺
+觴
+以
+自
+酌
+,
+眄
+庭
+柯
+以
+怡
+顏
+,
+倚
+南
+窗
+以
+寄
+傲
+,
+審
+容
+膝
+之
+易
+安
+。
+園
+日
+涉
+以
+成
+趣
+,
+門
+雖
+設
+而
+常
+關
+。
+策
+扶
+老
+以
+流
+憩
+,
+時
+矯
+首
+而
+遐
+觀
+。
+雲
+無
+心
+以
+出
+岫
+,
+鳥
+倦
+飛
+而
+知
+還
+。
+景
+翳
+翳
+以
+將
+入
+,
+撫
+孤
+松
+而
+盤
+桓
+。
+
+
+歸
+去
+來
+兮
+!
+請
+息
+交
+以
+絕
+遊
+。
+世
+與
+我
+而
+相
+遺
+,
+複
+駕
+言
+兮
+焉
+求
+?
+悅
+親
+戚
+之
+情
+話
+,
+樂
+琴
+書
+以
+消
+憂
+。
+農
+人
+告
+餘
+以
+春
+及
+,
+將
+有
+事
+乎
+西
+疇
+。
+或
+命
+巾
+車
+,
+或
+棹
+孤
+舟
+。
+既
+窈
+窕
+以
+尋
+壑
+,
+亦
+崎
+嶇
+而
+經
+丘
+。
+木
+欣
+欣
+以
+向
+榮
+,
+泉
+涓
+涓
+而
+始
+流
+。
+羨
+萬
+物
+之
+得
+時
+,
+感
+吾
+生
+之
+行
+休
+。
+
+
+已
+矣
+乎
+!
+寓
+形
+宇
+內
+複
+幾
+時
+,
+曷
+不
+委
+心
+任
+去
+留
+,
+胡
+為
+遑
+遑
+欲
+何
+之
+?
+富
+貴
+非
+吾
+願
+,
+帝
+鄉
+不
+可
+期
+。
+懷
+良
+辰
+以
+孤
+往
+,
+或
+植
+杖
+而
+耘
+耔
+,
+登
+東
+皋
+以
+舒
+嘯
+,
+臨
+清
+流
+而
+賦
+詩
+。
+聊
+乘
+化
+以
+歸
+盡
+,
+樂
+夫
+天
+命
+複
+奚
+疑
+。
+
+
+
+
+
\ No newline at end of file
diff --git a/mod_file_access.py b/mod_file_access.py
index 95ac439..4ab86a7 100644
--- a/mod_file_access.py
+++ b/mod_file_access.py
@@ -304,3 +304,36 @@ def save_as_excel_file(excel_workbook):
time.sleep(3)
+def copy_excel_sheet(excel_workbook, source_name='漢字注音', sheet_name='working'):
+ # 複製工作表
+ try:
+ source_sheet = excel_workbook.sheets[source_name]
+ new_sheet = source_sheet.copy(after=source_sheet)
+ new_sheet.name = sheet_name
+ print(f"將【{source_name}】工作表複製成:,【{sheet_name}】工作表。")
+ except Exception as e:
+ print(f"複製工作表失敗,原因:{e}")
+ return
+
+ # 等待一段時間讓 copy 完成
+ time.sleep(3)
+
+
+#--------------------------------------------------------------------------
+# 將【漢字標音】儲存格內的資料清除
+#--------------------------------------------------------------------------
+def reset_han_ji_piau_im_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)
+ start_row_no = 6
+ row_step = 4 # 每次跳過 4 行
+
+ for i in range(total_rows):
+ # 計算要清除的行號,從 start_row_no 開始,依次遞增 4 行
+ current_row_no = start_row_no + i * row_step
+ # 清除指定範圍的內容
+ sheet.range(f'D{current_row_no}:R{current_row_no}').clear_contents()
\ No newline at end of file
diff --git "a/mod_\346\250\231\351\237\263.py" "b/mod_\346\250\231\351\237\263.py"
index 9328c03..b53502f 100644
--- "a/mod_\346\250\231\351\237\263.py"
+++ "b/mod_\346\250\231\351\237\263.py"
@@ -130,4 +130,71 @@ def TL_Tng_Zu_Im(siann_bu, un_bu, siann_tiau, cursor):
'聲調': zu_im_siann_tiau
}
+# 台語音標轉換為方音符號
+def TLPA_Tng_Zap_Goo_Im(siann_bu, un_bu, siann_tiau, cursor):
+ """
+ 根據傳入的台語音標聲母、韻母、聲調,轉換成對應的方音符號
+ :param siann_bu: 聲母 (台語音標)
+ :param un_bu: 韻母 (台語音標)
+ :param siann_tiau: 聲調 (台語音標中的數字)
+ :param cursor: 數據庫游標
+ :return: 包含方音符號的字典
+ """
+
+ # 如果聲母為 None、空字串或空集合符號(無聲母),將其設為 '英'
+ if siann_bu in [None, '', '∅']: # 假設空集合符號用 '∅' 表示
+ zu_im_siann_bu = '英' # 無聲母的情況
+ else:
+ # 查詢聲母表,將台語音標的聲母轉換成方音符號
+ cursor.execute("SELECT 十五音 FROM 聲母對照表 WHERE 台語音標 = ?", (siann_bu,))
+ siann_bu_result = cursor.fetchone()
+ if siann_bu_result:
+ zu_im_siann_bu = siann_bu_result[0] # 取得方音符號
+ else:
+ zu_im_siann_bu = '英' # 無聲母的情況
+
+ # 查詢韻母表,將台語音標的韻母轉換成方音符號
+ cursor.execute("SELECT 十五音 FROM 韻母對照表 WHERE 台語音標 = ?", (un_bu,))
+ un_bu_result = cursor.fetchone()
+ if un_bu_result:
+ zu_im_un_bu = un_bu_result[0] # 取得方音符號
+ else:
+ zu_im_un_bu = ''
+
+ # 查詢聲調表,將台語音標的聲調轉換成方音符號
+ cursor.execute("SELECT 十五音聲調 FROM 聲調對照表 WHERE 台羅調號 = ?", (siann_tiau,))
+ siann_tiau_result = cursor.fetchone()
+ if siann_tiau_result:
+ zu_im_siann_tiau = siann_tiau_result[0] # 取得方音符號
+ else:
+ zu_im_siann_tiau = ''
+
+ #=======================================================================
+ # 【聲母】校調
+ #
+ # 齒間音【聲母】:ㄗ、ㄘ、ㄙ、ㆡ,若其後所接【韻母】之第一個符號亦為:ㄧ、ㆪ時,須變改
+ # 為:ㄐ、ㄑ、ㄒ、ㆢ。
+ #-----------------------------------------------------------------------
+ # 參考 RIME 輸入法如下規則:
+ # - xform/ㄗ(ㄧ|ㆪ)/ㄐ$1/
+ # - xform/ㄘ(ㄧ|ㆪ)/ㄑ$1/
+ # - xform/ㄙ(ㄧ|ㆪ)/ㄒ$1/
+ # - xform/ㆡ(ㄧ|ㆪ)/ㆢ$1/
+ #=======================================================================
+ # 比對聲母是否為 ㄗ、ㄘ、ㄙ、ㆡ,且韻母的第一個符號是 ㄧ 或 ㆪ
+ if siann_bu == 'z' and (un_bu[0] == 'i' or un_bu == 'inn'):
+ zu_im_siann_bu = 'ㄐ'
+ elif siann_bu == 'c' and (un_bu[0] == 'i' or un_bu == 'inn'):
+ zu_im_siann_bu = 'ㄑ'
+ elif siann_bu == 's' and (un_bu[0] == 'i' or un_bu == 'inn'):
+ zu_im_siann_bu = 'ㄒ'
+ elif siann_bu == 'j' and (un_bu[0] == 'i' or un_bu == 'inn'):
+ zu_im_siann_bu = 'ㆢ'
+
+ return {
+ '漢字標音': f"{zu_im_un_bu}{zu_im_siann_tiau}{zu_im_siann_bu}",
+ '聲母': zu_im_siann_bu,
+ '韻母': zu_im_un_bu,
+ '聲調': zu_im_siann_tiau
+ }
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\255\270\345\216\273\344\276\206\350\276\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" "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\346\255\270\345\216\273\344\276\206\350\276\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"
new file mode 100644
index 0000000..76e7550
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\346\255\270\345\216\273\344\276\206\350\276\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\346\264\233\347\245\236\350\263\246\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\346\264\233\347\245\236\350\263\246\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..13882bd
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\346\264\233\347\245\236\350\263\246\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/p704_\346\274\242\345\255\227\344\273\245\345\215\201\344\272\224\351\237\263\346\250\231\346\263\250\351\237\263.py" "b/p704_\346\274\242\345\255\227\344\273\245\345\215\201\344\272\224\351\237\263\346\250\231\346\263\250\351\237\263.py"
new file mode 100644
index 0000000..50c0aff
--- /dev/null
+++ "b/p704_\346\274\242\345\255\227\344\273\245\345\215\201\344\272\224\351\237\263\346\250\231\346\263\250\351\237\263.py"
@@ -0,0 +1,101 @@
+# 查找漢字讀音,並標註台語音標和注音符號
+import sqlite3
+
+import xlwings as xw
+
+from mod_file_access import load_module_function
+from mod_標音 import is_valid_han_ji, split_zu_im
+
+
+# 十五音標注音
+def zap_goo_im_piau_im(wb, sheet_name='十五音', cell='V3', hue_im="白話音", han_ji_khoo="河洛話", db_name='Ho_Lok_Ue.db', module_name='mod_標音', function_name='TLPA_Tng_Zap_Goo_Im'):
+ # 顯示「已輸入之拼音字母及注音符號」
+ named_range = wb.names['顯示注音輸入']
+ named_range.refers_to_range.value = True
+
+ # 選擇工作表
+ sheet = wb.sheets[sheet_name]
+ sheet.activate()
+ sheet.range('A1').select()
+
+ # 取得 V3 儲存格的字串及總漢字數
+ v3_value = sheet.range(cell).value
+ total_length = len(v3_value)
+
+ # 每頁最多處理 20 列
+ TOTAL_ROWS = int(wb.names['每頁總列數'].refers_to_range.value)
+ # 每列最多處理 15 字元
+ CHARS_PER_ROW = int(wb.names['每列總字數'].refers_to_range.value)
+ # 設定起始及結束的欄位 (【D欄=4】到【R欄=18】)
+ start = 4
+ end = start + CHARS_PER_ROW
+
+ # 檢查儲存格數是否足夠
+ if total_length > (CHARS_PER_ROW * TOTAL_ROWS):
+ print("可供作業之儲存格數太少,無法進行作業!")
+ return
+
+ # 動態載入查找函數:漢字標音轉換
+ han_ji_tng_piau_im = load_module_function(module_name, function_name)
+
+ # 連接指定資料庫
+ conn = sqlite3.connect(db_name)
+ cursor = conn.cursor()
+
+ # 初始化行數和索引
+ row = 5
+ index = 0
+
+ while index < total_length:
+ sheet.range((row, 1)).select() # 選擇行起始儲存格
+
+ for col in range(start, end):
+ if index >= total_length:
+ break # 當所有漢字處理完畢時,停止內部迴圈
+
+ # han_ji = v3_value[index] # 從 V3 字串中取得漢字
+ col_name = xw.utils.col_name(col)
+ char = v3_value[index]
+ if char == "\n":
+ index += 1
+ break
+
+ cell_value = sheet.range((row, col)).value
+ if not is_valid_han_ji(cell_value):
+ msg = cell_value
+ print(f"({row}, {col_name}) = {msg}")
+ index += 1
+ continue
+ else:
+ han_ji = cell_value
+
+ # 從【台語音標】儲存格讀取聲母、韻母、聲調
+ lo_ma_im_piau = sheet.range((row - 1, col)).value
+ if lo_ma_im_piau:
+ try:
+ siann_bu, un_bu, siann_tiau = split_zu_im(lo_ma_im_piau)
+ except ValueError as e:
+ print(f"【台語音標】資料格式錯誤於({row - 1}, {col}): {e}")
+ index += 1
+ continue
+
+ # 使用 TLPA_Tng_Zap_Goo_Im 函數轉換成十五音
+ zu_im_hu_ho = han_ji_tng_piau_im(siann_bu=siann_bu, un_bu=un_bu, siann_tiau=siann_tiau, cursor=cursor)
+
+ # 將十五音結果寫入【漢字注音】儲存格
+ sheet.range((row + 1, col)).value = zu_im_hu_ho['漢字標音']
+ print(f"({row + 1}, {xw.utils.col_name(col)}) = 【{han_ji}】{zu_im_hu_ho['漢字標音']}")
+ else:
+ print(f"缺少【台語音標】於({row - 1}, {col})")
+
+ index += 1 # 處理下一個漢字
+
+ row += 4 # 移動到下一組儲存格區域
+
+ print("已完成【十五音】標注音工作。")
+
+ # 關閉資料庫連線
+ conn.close()
+
+ # 保存活頁簿
+ wb.save()
diff --git a/p730_Tng_Sing_Bang_Iah.py b/p730_Tng_Sing_Bang_Iah.py
index 6234aca..00fe5ba 100644
--- a/p730_Tng_Sing_Bang_Iah.py
+++ b/p730_Tng_Sing_Bang_Iah.py
@@ -173,7 +173,9 @@ def tng_sing_bang_iah(wb, sheet_name='漢字注音', cell='V3', page_type='含
global total_length # 宣告 end_of_source_row 為全域變數
# 選擇指定的工作表
- sheet = wb.sheets[sheet_name]
+ sheet = wb.sheets[sheet_name] # 選擇工作表
+ sheet.activate() # 將「漢字注音」工作表設為作用中工作表
+ sheet.range('A1').select() # 將 A1 儲存格設為作用儲存格
source_sheet_name = sheet.name
# -----------------------------------------------------