diff --git a/Tai_Gi_Zu_Im_Bun.xlsx b/Tai_Gi_Zu_Im_Bun.xlsx
index 5b11d6b..01c20de 100644
Binary files a/Tai_Gi_Zu_Im_Bun.xlsx and b/Tai_Gi_Zu_Im_Bun.xlsx differ
diff --git "a/a710_\346\270\205\347\220\206\345\216\237\345\241\253\345\205\245\346\274\242\345\255\227\345\217\212\346\263\250\351\237\263.py" "b/a710_\346\270\205\347\220\206\345\216\237\345\241\253\345\205\245\346\274\242\345\255\227\345\217\212\346\263\250\351\237\263.py"
index 22df141..6c63c62 100644
--- "a/a710_\346\270\205\347\220\206\345\216\237\345\241\253\345\205\245\346\274\242\345\255\227\345\217\212\346\263\250\351\237\263.py"
+++ "b/a710_\346\270\205\347\220\206\345\216\237\345\241\253\345\205\245\346\274\242\345\255\227\345\217\212\346\263\250\351\237\263.py"
@@ -6,7 +6,6 @@
 
 import settings
 from p701_Clear_Cells import clear_hanji_in_cells
-from p710_thiam_han_ji import fill_hanji_in_cells
 
 
 def get_input_and_output_options(argv):
@@ -77,7 +76,6 @@ def get_input_and_output_options(argv):
     #     - 下方:台語注音符號
     # =========================================================================
     clear_hanji_in_cells(wb)    # 清除先前已填入的漢字、注音符號
-    wb.sheets['漢字注音'].range("V3").value = ""
 
     # =========================================================================
     # (3) 依據《文章標題》另存新檔。
diff --git "a/a730_\345\260\207\346\274\242\345\255\227\346\263\250\351\237\263\345\241\253\345\205\245.py" "b/a730_\345\260\207\346\274\242\345\255\227\346\263\250\351\237\263\345\241\253\345\205\245.py"
index c8ae25e..52a90e8 100644
--- "a/a730_\345\260\207\346\274\242\345\255\227\346\263\250\351\237\263\345\241\253\345\205\245.py"
+++ "b/a730_\345\260\207\346\274\242\345\255\227\346\263\250\351\237\263\345\241\253\345\205\245.py"
@@ -5,7 +5,6 @@
 
 import settings
 from p720_Thiam_Zu_Im import thiam_zu_im
-from p730_Tng_Sing_Bang_Iah import tng_sing_bang_iah
 
 
 def get_input_and_output_options(argv):
diff --git a/docs/assets/styles/styles.css b/docs/assets/styles/styles.css
index d0f0a7f..b69e644 100644
--- a/docs/assets/styles/styles.css
+++ b/docs/assets/styles/styles.css
@@ -11,7 +11,9 @@
 }
 
 body {
-  width: 100%;
+  /* width: 100%; */
+  margin: 10px auto;
+  width: 60%;
   color: #333;
   line-height: 2.0;
   font-size: 28pt;
diff --git "a/docs/\351\207\221\345\211\233\350\210\254\350\213\245\346\263\242\347\276\205\350\234\234\347\266\223\343\200\202\345\246\202\347\220\206\345\257\246\350\246\213\345\210\206\347\254\254\344\272\224_\346\274\242\345\255\227\346\263\250\351\237\263.html" "b/docs/\351\207\221\345\211\233\350\210\254\350\213\245\346\263\242\347\276\205\350\234\234\347\266\223\343\200\202\345\246\202\347\220\206\345\257\246\350\246\213\345\210\206\347\254\254\344\272\224_\346\274\242\345\255\227\346\263\250\351\237\263.html"
new file mode 100644
index 0000000..1b5b528
--- /dev/null
+++ "b/docs/\351\207\221\345\211\233\350\210\254\350\213\245\346\263\242\347\276\205\350\234\234\347\266\223\343\200\202\345\246\202\347\220\206\345\257\246\350\246\213\345\210\206\347\254\254\344\272\224_\346\274\242\345\255\227\346\263\250\351\237\263.html"
@@ -0,0 +1,125 @@
+
+<!DOCTYPE html>
+<html lang="zh-TW">
+<head>
+    <title>《金剛般若波羅蜜經。如理實見分第五》【漢字注音】</title>
+    <meta charset="UTF-8">
+    <link rel="stylesheet" href="assets/styles/styles.css">
+</head>
+<body>
+    《金剛般若波羅蜜經。如理實見分第五》【漢字注音】
+<div class='separator' style='clear: both'>
+  <a href='圖片' style='display: block; padding: 1em 0; text-align: center'>
+    <img alt='金剛般若波羅蜜經。如理實見分第五' border='0' width='400' data-original-height='630' data-original-width='1200'
+      src='https://shoplineimg.com/5db585d59db3cb0012a18bce/5f2a9d3f30cc6200455c1c25/1296x.webp?source_format=jpg' />
+  </a>
+</div>
+
+<div class='Siang_Pai'><p>
+<span>《</span>
+<ruby><rb>金</rb><rt>kim¹</rt><rtc>ㄍㄧㆬˉ</rtc></ruby>
+<ruby><rb>剛</rb><rt>kong¹</rt><rtc>ㄍㆲˉ</rtc></ruby>
+<ruby><rb>般</rb><rt>pⁿua¹</rt><rtc>ㄅㄨㆩˉ</rtc></ruby>
+<ruby><rb>若</rb><rt>na²</rt><rtc>ㄋㄚˋ</rtc></ruby>
+<ruby><rb>波</rb><rt>pho¹</rt><rtc>ㄆㄜˉ</rtc></ruby>
+<ruby><rb>羅</rb><rt>lo⁵</rt><rtc>ㄌㄜˊ</rtc></ruby>
+<ruby><rb>蜜</rb><rt>bit⁸</rt><rtc>ㆠㄧㆵ˙</rtc></ruby>
+<ruby><rb>經</rb><rt>king¹</rt><rtc>ㄍㄧㄥˉ</rtc></ruby>
+<span>》</span>
+</p><p>
+<ruby><rb>如</rb><rt>ju⁵</rt><rtc>ㆡㄨˊ</rtc></ruby>
+<ruby><rb>理</rb><rt>li²</rt><rtc>ㄌㄧˋ</rtc></ruby>
+<ruby><rb>實</rb><rt>sit⁸</rt><rtc>ㄒㄧㆵ˙</rtc></ruby>
+<ruby><rb>見</rb><rt>kⁿi³</rt><rtc>ㄍㆪ˪</rtc></ruby>
+<ruby><rb>分</rb><rt>hun¹</rt><rtc>ㄏㄨㄣˉ</rtc></ruby>
+<ruby><rb>第</rb><rt>te⁷</rt><rtc>ㄉㆤ˫</rtc></ruby>
+<ruby><rb>五</rb><rt>goo⁷</rt><rtc>ㆣㆦ˫</rtc></ruby>
+</p><p>
+<span>「</span>
+<ruby><rb>須</rb><rt>su¹</rt><rtc>ㄙㄨˉ</rtc></ruby>
+<ruby><rb>菩</rb><rt>phoo⁵</rt><rtc>ㄆㆦˊ</rtc></ruby>
+<ruby><rb>提</rb><rt>theh⁸</rt><rtc>ㄊㆤㆷ˙</rtc></ruby>
+<span>!</span>
+<ruby><rb>於</rb><rt>u⁵</rt><rtc>ㄨˊ</rtc></ruby>
+<ruby><rb>意</rb><rt>i³</rt><rtc>ㄧ˪</rtc></ruby>
+<ruby><rb>云</rb><rt>un⁵</rt><rtc>ㄨㄣˊ</rtc></ruby>
+<ruby><rb>何</rb><rt>ho⁵</rt><rtc>ㄏㄜˊ</rtc></ruby>
+<span>?</span>
+<ruby><rb>可</rb><rt>kho²</rt><rtc>ㄎㄜˋ</rtc></ruby>
+<ruby><rb>以</rb><rt>i²</rt><rtc>ㄧˋ</rtc></ruby>
+<ruby><rb>身</rb><rt>sin¹</rt><rtc>ㄒㄧㄣˉ</rtc></ruby>
+<ruby><rb>相</rb><rt>siong¹</rt><rtc>ㄒㄧㆲˉ</rtc></ruby>
+<ruby><rb>見</rb><rt>kⁿi³</rt><rtc>ㄍㆪ˪</rtc></ruby>
+<ruby><rb>如</rb><rt>ju⁵</rt><rtc>ㆡㄨˊ</rtc></ruby>
+<ruby><rb>來</rb><rt>lai⁰</rt><rtc>ㄌㄞ˙</rtc></ruby>
+<ruby><rb>不</rb><rt>put⁴</rt><rtc>ㄅㄨㆵ</rtc></ruby>
+<span>?</span>
+<span>」</span>
+<span>「</span>
+<ruby><rb>不</rb><rt>put⁴</rt><rtc>ㄅㄨㆵ</rtc></ruby>
+<ruby><rb>也</rb><rt>ia⁷</rt><rtc>ㄧㄚ˫</rtc></ruby>
+<span>,</span>
+<ruby><rb>世</rb><rt>se³</rt><rtc>ㄙㆤ˪</rtc></ruby>
+<ruby><rb>尊</rb><rt>zun¹</rt><rtc>ㄗㄨㄣˉ</rtc></ruby>
+<span>!</span>
+<ruby><rb>不</rb><rt>put⁴</rt><rtc>ㄅㄨㆵ</rtc></ruby>
+<ruby><rb>可</rb><rt>kho²</rt><rtc>ㄎㄜˋ</rtc></ruby>
+<ruby><rb>以</rb><rt>i²</rt><rtc>ㄧˋ</rtc></ruby>
+<ruby><rb>身</rb><rt>sin¹</rt><rtc>ㄒㄧㄣˉ</rtc></ruby>
+<ruby><rb>相</rb><rt>siong¹</rt><rtc>ㄒㄧㆲˉ</rtc></ruby>
+<ruby><rb>得</rb><rt>tit⁴</rt><rtc>ㄉㄧㆵ</rtc></ruby>
+<ruby><rb>見</rb><rt>kⁿi³</rt><rtc>ㄍㆪ˪</rtc></ruby>
+<ruby><rb>如</rb><rt>ju⁵</rt><rtc>ㆡㄨˊ</rtc></ruby>
+<ruby><rb>來</rb><rt>lai⁰</rt><rtc>ㄌㄞ˙</rtc></ruby>
+<span>。</span>
+<ruby><rb>何</rb><rt>ho⁵</rt><rtc>ㄏㄜˊ</rtc></ruby>
+<ruby><rb>以</rb><rt>i²</rt><rtc>ㄧˋ</rtc></ruby>
+<ruby><rb>故</rb><rt>koo³</rt><rtc>ㄍㆦ˪</rtc></ruby>
+<span>?</span>
+<ruby><rb>如</rb><rt>ju⁵</rt><rtc>ㆡㄨˊ</rtc></ruby>
+<ruby><rb>來</rb><rt>la⁰</rt><rtc>ㄌㄚ˙</rtc></ruby>
+<ruby><rb>所</rb><rt>soo²</rt><rtc>ㄙㆦˋ</rtc></ruby>
+<ruby><rb>說</rb><rt>suat⁴</rt><rtc>ㄙㄨㄚㆵ</rtc></ruby>
+<ruby><rb>身</rb><rt>sin¹</rt><rtc>ㄒㄧㄣˉ</rtc></ruby>
+<ruby><rb>相</rb><rt>siong¹</rt><rtc>ㄒㄧㆲˉ</rtc></ruby>
+<span>,</span>
+<ruby><rb>即</rb><rt>ziah⁴</rt><rtc>ㄐㄧㄚㆷ</rtc></ruby>
+<ruby><rb>非</rb><rt>hui¹</rt><rtc>ㄏㄨㄧˉ</rtc></ruby>
+<ruby><rb>身</rb><rt>sin¹</rt><rtc>ㄒㄧㄣˉ</rtc></ruby>
+<ruby><rb>相</rb><rt>siong¹</rt><rtc>ㄒㄧㆲˉ</rtc></ruby>
+<span>。</span>
+<span>」</span>
+<ruby><rb>佛</rb><rt>put⁸</rt><rtc>ㄅㄨㆵ˙</rtc></ruby>
+<ruby><rb>告</rb><rt>ko³</rt><rtc>ㄍㄜ˪</rtc></ruby>
+<ruby><rb>須</rb><rt>su¹</rt><rtc>ㄙㄨˉ</rtc></ruby>
+<ruby><rb>菩</rb><rt>phoo⁵</rt><rtc>ㄆㆦˊ</rtc></ruby>
+<ruby><rb>提</rb><rt>theh⁸</rt><rtc>ㄊㆤㆷ˙</rtc></ruby>
+<span>:</span>
+<span>「</span>
+<ruby><rb>凡</rb><rt>huan⁵</rt><rtc>ㄏㄨㄢˊ</rtc></ruby>
+<ruby><rb>所</rb><rt>soo²</rt><rtc>ㄙㆦˋ</rtc></ruby>
+<ruby><rb>有</rb><rt>u⁷</rt><rtc>ㄨ˫</rtc></ruby>
+<ruby><rb>相</rb><rt>siong¹</rt><rtc>ㄒㄧㆲˉ</rtc></ruby>
+<span>,</span>
+<ruby><rb>皆</rb><rt>kai¹</rt><rtc>ㄍㄞˉ</rtc></ruby>
+<ruby><rb>是</rb><rt>si⁷</rt><rtc>ㄒㄧ˫</rtc></ruby>
+<ruby><rb>虛</rb><rt>hi¹</rt><rtc>ㄏㄧˉ</rtc></ruby>
+<ruby><rb>妄</rb><rt>bong⁷</rt><rtc>ㆠㆲ˫</rtc></ruby>
+<span>。</span>
+<ruby><rb>若</rb><rt>na²</rt><rtc>ㄋㄚˋ</rtc></ruby>
+<ruby><rb>見</rb><rt>kⁿi³</rt><rtc>ㄍㆪ˪</rtc></ruby>
+<ruby><rb>諸</rb><rt>zu¹</rt><rtc>ㄗㄨˉ</rtc></ruby>
+<ruby><rb>相</rb><rt>siong¹</rt><rtc>ㄒㄧㆲˉ</rtc></ruby>
+<ruby><rb>非</rb><rt>hui¹</rt><rtc>ㄏㄨㄧˉ</rtc></ruby>
+<ruby><rb>相</rb><rt>siong¹</rt><rtc>ㄒㄧㆲˉ</rtc></ruby>
+<span>,</span>
+<ruby><rb>即</rb><rt>ziah⁴</rt><rtc>ㄐㄧㄚㆷ</rtc></ruby>
+<ruby><rb>見</rb><rt>kⁿi³</rt><rtc>ㄍㆪ˪</rtc></ruby>
+<ruby><rb>如</rb><rt>ju⁵</rt><rtc>ㆡㄨˊ</rtc></ruby>
+<ruby><rb>來</rb><rt>lai⁰</rt><rtc>ㄌㄞ˙</rtc></ruby>
+<span>。</span>
+<span>」</span>
+</p></div>
+</body>
+</html>
+    
\ No newline at end of file
diff --git "a/output2/\343\200\212\351\207\221\351\213\274\347\266\223\343\200\213004.xlsx" "b/output2/\343\200\212\351\207\221\351\213\274\347\266\223\343\200\213004.xlsx"
new file mode 100644
index 0000000..38ce932
Binary files /dev/null and "b/output2/\343\200\212\351\207\221\351\213\274\347\266\223\343\200\213004.xlsx" differ
diff --git "a/output2/\343\200\212\351\207\221\351\213\274\347\266\223\343\200\213005.xlsx" "b/output2/\343\200\212\351\207\221\351\213\274\347\266\223\343\200\213005.xlsx"
new file mode 100644
index 0000000..baba5a9
Binary files /dev/null and "b/output2/\343\200\212\351\207\221\351\213\274\347\266\223\343\200\213005.xlsx" differ
diff --git a/p701_Clear_Cells.py b/p701_Clear_Cells.py
index 3d8e4b4..97bae05 100644
--- a/p701_Clear_Cells.py
+++ b/p701_Clear_Cells.py
@@ -1,51 +1,6 @@
-# 全域常數
-TOTAL_ROWS = 12
-
 # 填漢字等標音:將整段的文字拆解,個別填入儲存格,以便後續人工手動填入台語音標、注音符號。
-import getopt
-import sys
-
 import xlwings as xw
 
-import settings
-
-
-def get_input_and_output_options(argv):
-    arg_input = ""
-    arg_output = ""
-    arg_user = ""
-    arg_help = "{0} -i <input> -u <user> -o <output>".format(argv[0])
-
-    try:
-        opts, args = getopt.getopt(  # pyright: ignore
-            argv[1:], "hi:u:o:", ["help", "input=", "user=", "output="]
-        )
-    except Exception as e:
-        print(e)
-        print(arg_help)
-        sys.exit(2)
-
-    for opt, arg in opts:
-        if opt in ("-h", "--help"):
-            print(arg_help)  # print the help message
-            sys.exit(2)
-        elif opt in ("-i", "--input"):
-            arg_input = arg
-        elif opt in ("-u", "--user"):
-            arg_user = arg
-        elif opt in ("-o", "--output"):
-            arg_output = arg
-
-    print("input:", arg_input)
-    print("user:", arg_user)
-    print("output:", arg_output)
-
-    return {
-        "input": arg_input,
-        "user": arg_user,
-        "output": arg_output,
-    }
-
 
 def clear_hanji_in_cells(wb, sheet_name='漢字注音', cell='V3'):
     # 選擇指定的工作表
@@ -54,56 +9,40 @@ def clear_hanji_in_cells(wb, sheet_name='漢字注音', cell='V3'):
     # 取得 V3 儲存格的字串
     v3_value = sheet.range(cell).value
 
-    # 確認 V3 不為空
-    if v3_value:
-        # 計算字串的總長度
-        total_length = len(v3_value)
-
-        # 每列最多處理 15 個字元,計算總共需要多少列
-        chars_per_row = 15
-
-        # 迴圈清空所有漢字的上下方儲存格 (羅馬拼音和台語注音符號)
-        row = 5
-        for i in range(TOTAL_ROWS):
-            for col in range(4, 19):  # 【D欄=4】到【R欄=18】
-                # 清空漢字儲存格 (Row)
-                sheet.range((row, col)).value = None
-                # 清空上方的台語拼音儲存格 (Row-1)
-                sheet.range((row - 1, col)).value = None
-                # 清空下方的台語注音儲存格 (Row+1)
-                sheet.range((row + 1, col)).value = None
-                # 清空填入注音的儲存格 (Row-2)
-                sheet.range((row - 2, col)).value = None
-
-            # 每處理 15 個字元後,換到下一行
-            row += 4
-
-    # sheet.range(cell).value = None
-
-
-
-if __name__ == "__main__":
-    # =========================================================================
-    # (1) 取得需要注音的「檔案名稱」及其「目錄路徑」。
-    # =========================================================================
-    # 取得 Input 檔案名稱
-    file_path = settings.get_tai_gi_zu_im_bun_path()
-    if not file_path:
-        print("未設定 .env 檔案")
-        # sys.exit(2)
-        opts = get_input_and_output_options(sys.argv)
-        if opts["input"] != "":
-            CONVERT_FILE_NAME = opts["input"]
-        else:
-            CONVERT_FILE_NAME = "Tai_Gi_Zu_Im_Bun.xlsx"
-    else:
-        CONVERT_FILE_NAME = file_path
-    print(f"CONVERT_FILE_NAME = {CONVERT_FILE_NAME}")
-
-    # 打開 Excel 檔案
-    wb = xw.Book(CONVERT_FILE_NAME)
+    # 計算字串的總長度
+    total_length = len(v3_value)
+    print(f" {total_length} 個字元")
+
+    # 每頁最多處理 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
+
+    # 迴圈清空所有漢字的上下方儲存格 (羅馬拼音和台語注音符號)
+    row = 5
+    for i in range(TOTAL_ROWS):
+        for col in range(start, end):  # 【D欄=4】到【R欄=18】
+            # 清空漢字儲存格 (Row)
+            sheet.range((row, col)).value = None
+            # 清空上方的台語拼音儲存格 (Row-1)
+            sheet.range((row - 1, col)).value = None
+            # 清空下方的台語注音儲存格 (Row+1)
+            sheet.range((row + 1, col)).value = None
+            # 清空填入注音的儲存格 (Row-2)
+            sheet.range((row - 2, col)).value = None
+
+            # 顯示清空的儲存格
+            col_name = xw.utils.col_name(col)
+            print(f"清空第 {row} 列,第 {col_name} 欄")
+
+        # 每處理 15 個字元後,換到下一行
+        row += 4
+        print("\n")
 
     # =========================================================================
     # (2) 清除原先已填入的漢字
     # =========================================================================
-    clear_hanji_in_cells(wb, '漢字注音', 'V3')
+    sheet.range("V3").value = ""
diff --git a/p710_thiam_han_ji.py b/p710_thiam_han_ji.py
index fadb08a..dae86c1 100644
--- a/p710_thiam_han_ji.py
+++ b/p710_thiam_han_ji.py
@@ -1,3 +1,6 @@
+import xlwings as xw
+
+
 def fill_hanji_in_cells(wb, sheet_name='漢字注音', cell='V3'):
     # 選擇指定的工作表
     sheet = wb.sheets[sheet_name]
@@ -9,9 +12,15 @@ def fill_hanji_in_cells(wb, sheet_name='漢字注音', cell='V3'):
     if v3_value:
         # 計算字串的總長度
         total_length = len(v3_value)
+        print(f" {total_length} 個字元")
 
-        # 每列最多處理 15 個字元,計算總共需要多少列
-        chars_per_row = 15
+        # 每頁最多處理 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
 
         # 逐字處理字串,並填入對應的儲存格
         row = 5
@@ -19,7 +28,7 @@ def fill_hanji_in_cells(wb, sheet_name='漢字注音', cell='V3'):
 
         # 逐字處理字串 
         while index < total_length:     # 使用 while 而非 for,確保處理完整個字串
-            for col in range(4, 19):  # 【D欄=4】到【R欄=18】
+            for col in range(start, end):  # 【D欄=4】到【R欄=18】
                 # 確認是否還有字元可以處理
                 if index < total_length:
                     # 取得當前字元
@@ -28,6 +37,9 @@ def fill_hanji_in_cells(wb, sheet_name='漢字注音', cell='V3'):
                     if char != "\n":
                         # 將字元填入對應的儲存格
                         sheet.range((row, col)).value = char
+
+                        col_name = xw.utils.col_name(col)
+                        print(f"【{row} 列, {col_name} 欄】:{char}")
                     else:
                         # 若遇到換行字元,直接跳過
                         index += 1
@@ -39,6 +51,7 @@ def fill_hanji_in_cells(wb, sheet_name='漢字注音', cell='V3'):
                     break  # 若字串已處理完畢,退出迴圈
 
             # 每處理 15 個字元後,換到下一行
+            print("\n")
             row += 4
 
     # 保存 Excel 檔案
diff --git a/p720_Thiam_Zu_Im.py b/p720_Thiam_Zu_Im.py
index 6889e62..adfb20a 100644
--- a/p720_Thiam_Zu_Im.py
+++ b/p720_Thiam_Zu_Im.py
@@ -12,64 +12,75 @@ def thiam_zu_im(wb, sheet_name='漢字注音', cell='V3'):
     # 取得 V3 儲存格的字串
     v3_value = sheet.range(cell).value
     
-    # 確認 V3 不為空
-    if v3_value:
-        # 計算字串的總長度
-        total_length = len(v3_value)
-
-        # 每列最多處理 15 個字元,計算總共需要多少列
-        chars_per_row = 15
+    # 每頁最多處理 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
 
-        # 清空 Row: 5, 9, 13, ... 漢字所在儲存格,上方的台語音標儲存格,及下方的台語注音符號儲存格
-        row = 5
-        index = 0  # 漢字處理指標
-        # 逐字處理字串 
-        while index < total_length:     # 使用 while 而非 for,確保處理完整個字串
-            for col in range(4, 19):  # 【D欄=4】到【R欄=18】
-                # 確認是否還有字元可以處理
-                if index < total_length:
-                    # 取得當前字元
-                    char = v3_value[index]
+    # 計算字串的總長度
+    total_length = len(v3_value)
 
-                    if char != "\n":
-                        # 清空上方的台語音標儲存格
-                        sheet.range((row - 1, col)).value = None
-
-                        # 清空下方的台語注音符號儲存格
-                        sheet.range((row + 1, col)).value = None
-
-                    else:
-                        # 若遇到換行字元,退出迴圈 
-                        index += 1
-                        break;  
-
-                    # 更新索引,處理下一個字元
-                    index += 1
-                else:
-                    break  # 若字串已處理完畢,退出迴圈
-            # 每處理 15 個字元後,換到下一行
-            row += 4
+    # 確認 V3 不為空
+    if total_length and total_length < (CHARS_PER_ROW * TOTAL_ROWS):
+        # # 清空 Row: 5, 9, 13, ... 漢字所在儲存格,上方的台語音標儲存格,及下方的台語注音符號儲存格
+        # row = 5
+        # index = 0  # 漢字處理指標
+
+        # # 逐字處理字串 
+        # while index < total_length:     # 使用 while 而非 for,確保處理完整個字串
+        #     for col in range(start, end):  # 【D欄=4】到【R欄=18】
+        #         # 確認是否還有字元可以處理
+        #         if index < total_length:
+        #             # 取得當前字元
+        #             char = v3_value[index]
+
+        #             if char != "\n":
+        #                 # 清空上方的台語音標儲存格
+        #                 sheet.range((row - 1, col)).value = None
+
+        #                 # 清空下方的台語注音符號儲存格
+        #                 sheet.range((row + 1, col)).value = None
+
+        #             else:
+        #                 # 若遇到換行字元,退出迴圈 
+        #                 index += 1
+        #                 break;  
+
+        #             # 更新索引,處理下一個字元
+        #             index += 1
+        #         else:
+        #             break  # 若字串已處理完畢,退出迴圈
+        #     # 每處理 15 個字元後,換到下一行
+        #     row += 4
 
         # 逐行處理資料,從 Row 3 開始,每列處理 15 個字元
         row = 3
         index = 0  # 漢字處理指標
         while index < total_length:     # 使用 while 而非 for,確保處理完整個字串
-            for col in range(4, 19):  # 【D欄=4】到【R欄=18】
+            for col in range(start, end):  # 【D欄=4】到【R欄=18】
+                col_name = xw.utils.col_name(col)
                 char = None
-                lo_ma_ji = None
-                zu_im_hu_ho = None
+                han_ji = ""
+                lo_ma_im_piau = ""
+                zu_im_hu_ho = ""
                 # 確認是否還有字元可以處理
                 if index < total_length:
                     char = v3_value[index]  # 取得目前欲處理的【漢字】
                     if char != "\n":    # 確認待處理的【漢字】不是【換行字元: \n】
                         cell_value = sheet.range((row, col)).value  # 取得 D4, E4, ..., R4 的內容
                         if cell_value:  # 確認儲存格有填入【拚音字母/注音符號】
+                            # 取得正在注音的漢字
+                            han_ji = sheet.range((row + 2, col)).value
+
                             # 分割字串來提取羅馬拼音和台語注音
-                            lo_ma_ji = cell_value.split('〔')[1].split('〕')[0]  # 取得〔羅馬拼音〕
+                            lo_ma_im_piau = cell_value.split('〔')[1].split('〕')[0]  # 取得〔羅馬拼音〕
                             zu_im_hu_ho = cell_value.split('【')[1].split('】')[0]  # 取得【台語注音】
 
                             # 將羅馬拼音填入當前 row + 1 的儲存格
-                            sheet.range((row + 1, col)).value = lo_ma_ji
+                            sheet.range((row + 1, col)).value = lo_ma_im_piau
 
                             # 將台語注音填入當前 row + 3 的儲存格
                             sheet.range((row + 3, col)).value = zu_im_hu_ho
@@ -79,10 +90,10 @@ def thiam_zu_im(wb, sheet_name='漢字注音', cell='V3'):
                         break;  
 
                     # 顯示當前處理的【漢字】、【羅馬拼音】和【台語注音】
-                    if lo_ma_ji and zu_im_hu_ho:
-                        print(f"{char}: [{lo_ma_ji}] 【{zu_im_hu_ho}】")
+                    if lo_ma_im_piau and zu_im_hu_ho:
+                        print(f"({row}, {col_name}) = {han_ji} [{lo_ma_im_piau}] 【{zu_im_hu_ho}】")
                     else:
-                        print(f"{char}")
+                        print(f"({row}, {col_name}) = {char}")
 
                     # 更新索引,處理下一個字元
                     index += 1
@@ -90,6 +101,7 @@ def thiam_zu_im(wb, sheet_name='漢字注音', cell='V3'):
                     break  # 若字串已處理完畢,退出迴圈
             # 每處理 15 個字元後,換到下一行
             row += 4
+            print("\n")
             
     print("已完成【台語音標】和【台語注音符號】標註工作。")
 
diff --git a/p730_Tng_Sing_Bang_Iah.py b/p730_Tng_Sing_Bang_Iah.py
index d99b731..f0c54fe 100644
--- a/p730_Tng_Sing_Bang_Iah.py
+++ b/p730_Tng_Sing_Bang_Iah.py
@@ -1,6 +1,5 @@
 # Tng_Sing_Bang_Iah.py (轉成網頁)
 # 用途:將【漢字注音】工作表中的漢字、台語音標及台語注音符號,轉成 HTML 網頁格式。
-import math
 import os
 
 import xlwings as xw
@@ -83,10 +82,15 @@ def build_web_page(wb, sheet, source_chars, total_length):
     html_str = f"<div class='{div_class}'><p>"
     write_buffer += (html_str + "\n")
 
-    # 每列最多處理 15 個字元
-    chars_per_row = 15
+    # 每頁最多處理 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:
+    if total_length and total_length < (CHARS_PER_ROW * TOTAL_ROWS):
         row = 5
         index = 0  # 用來追蹤處理到哪個字元
 
@@ -95,7 +99,8 @@ def build_web_page(wb, sheet, source_chars, total_length):
 
         # 逐字處理字串
         while index < total_length:
-            for col in range(4, 19):  # 【D欄=4】到【R欄=18】
+            for col in range(start, end):  # 【D欄=4】到【R欄=18】
+                col_name = xw.utils.col_name(col)
                 if index < total_length:
                     ruby_tag = ""
                     src_char = source_chars[index]  # 取得目前欲處理的【漢字】
@@ -103,15 +108,15 @@ def build_web_page(wb, sheet, source_chars, total_length):
                         # 若遇到換行字元,退出迴圈 
                         write_buffer += ("</p><p>\n")
                         index += 1
+                        print("\n")
                         break;  
                     else: 
                         han_ji = sheet.range((row, col)).value  # 取得漢字
-                        # 在 Console 顯示目前處理的漢字,以便使用者可知目前進度
-                        print(f"處理中:{han_ji}") 
-                        
                         # 當 han_ji 是標點符號時,不需要注音
                         if is_punctuation(han_ji):
                             ruby_tag = f"<span>{han_ji}</span>\n"
+                            # 在 Console 顯示目前處理的漢字,以便使用者可知目前進度
+                            print(f"({row}, {col_name}) = {han_ji}")
                         else:
                             lo_ma_im_piau = sheet.range((row - 1, col)).value  # 取得漢字的台語音標
                             zu_im_hu_ho = sheet.range((row + 1, col)).value  # 取得漢字的台語注音符號
@@ -120,6 +125,8 @@ def build_web_page(wb, sheet, source_chars, total_length):
                             lo_ma_im_piau = lo_ma_im_piau if lo_ma_im_piau is not None else ""
                             zu_im_hu_ho = zu_im_hu_ho if zu_im_hu_ho is not None else ""
 
+                            # 在 Console 顯示目前處理的漢字,以便使用者可知目前進度
+                            print(f"({row}, {col_name}) = {han_ji} [{lo_ma_im_piau}] 【{zu_im_hu_ho}】")
                             # =========================================================
                             # 將已注音之漢字加入【漢字注音表】
                             # =========================================================
@@ -139,7 +146,7 @@ def build_web_page(wb, sheet, source_chars, total_length):
                     break  # 若已處理完畢,退出欄位迴圈
 
             # 每處理一行後,換到下一行
-            # write_buffer += "<br>\n"
+            print("\n")
             row += 4
 
         # =========================================================