AI 해결 노트 · 2026-09-18 · 실측 2026-09-18

한글 표에 줄 추가하기 — 마지막 칸 Tab, 중간 줄, 병합 셀이 걸친 줄

한 줄로

한글 2022에서 표 마지막 칸에 커서를 두고 Tab을 누르면 줄이 하나 늘어납니다. 가운데 칸에서 누르면 옆 칸으로 갈 뿐입니다. 중간에 끼워 넣을 때는 [표 레이아웃] 탭의 [줄·칸 추가하기]를 씁니다. 세로로 병합된 칸이 있는 표에서는 커서를 어디에 두느냐에 따라 결과가 갈립니다. 병합된 칸 안에 두면 병합 아래에 새 줄이 생기고, 병합 옆 칸에 두면 병합된 칸이 한 줄을 더 잡아먹습니다.

이런 분께

표를 다 채우고 나서 줄이 모자란 걸 알았거나, 병합해 둔 표에 줄을 넣었다가 표가 이상하게 어긋난 적이 있는 분입니다.

실측 환경

항목
OSWindows 11 Home (10.0.26200)
한글한글 Office 2022, 버전 문자열 12, 0, 0, 4605
시험 표일반 표 3줄 3칸 · 4줄 3칸, 병합 표 4줄 3칸(1칸의 2~3줄 세로 병합)
줄 수를 센 방법한글에서 .hwpx로 저장한 뒤 Contents/section0.xmlhp:tr 수를 세고, hp:cellSpancolSpan/rowSpan으로 병합 상태를 읽음
테두리 확인같은 문서를 PDF로 저장해 PyMuPDF 1.28.0 (MuPDF 1.29.0)으로 렌더하고, 쪽 안의 가로·세로 선 개수를 셈

칸 안 글자는 A1-1, B2-3처럼 줄·칸 번호를 그대로 적어 두었습니다. 줄이 어디로 밀렸는지 눈으로 좇으려고 그렇게 했습니다.

Tab 키는 한글 창을 띄우고 실제로 눌렀습니다. [줄·칸 추가하기]로 줄을 끼워 넣는 쪽은 창을 열어 모양을 확인한 뒤, 같은 동작을 자동화(한글 COM의 TableInsertLowerRow·TableInsertUpperRow)로 걸어 결과를 셌습니다.

어디에 있는 단추인가

표 안에 커서를 두면 리본 오른쪽 끝에 탭 아이콘 두 개가 더 생깁니다. 뒤쪽이 [표 레이아웃]입니다.

한글 2022 표 레이아웃 탭. 왼쪽부터 투명 선, 줄·칸 추가하기, 셀 나누기, 셀 합치기 순서.
한글 2022 표 레이아웃 탭. 왼쪽부터 투명 선, 줄·칸 추가하기, 셀 나누기, 셀 합치기 순서.

[줄·칸 추가하기]를 누르면 "줄/칸 추가하기" 창이 뜹니다.

줄/칸 추가하기 대화상자. 위·아래·왼쪽·오른쪽 방향 아이콘과 줄/칸 수 입력칸.
줄/칸 추가하기 대화상자. 위·아래·왼쪽·오른쪽 방향 아이콘과 줄/칸 수 입력칸.

방향 아이콘 넷(위 · 아래 · 왼쪽 · 오른쪽) 중 하나를 고르고 [줄/칸 수]에 몇 줄을 넣을지 적습니다. 기본값은 1입니다. 셀 블록을 잡지 않은 채 커서만 놓으면 [셀 합치기]는 흐리게 보여 눌리지 않습니다.

① 마지막 칸에서 Tab

3줄 3칸 표를 다 채우고 마지막 칸(3줄 3칸)에 커서를 둔 채 Tab 키를 실제로 눌렀습니다.

   [t1_before] 줄 수=3  전체 칸 수=9
     3행: A3-1(c0,가로1,세로1) | A3-2(c1,가로1,세로1) | A3-3(c2,가로1,세로1)
    Tab 키 1회 전송
   [t1_after] 줄 수=4  전체 칸 수=12
     4행: ★Tab뒤(c0,가로1,세로1) | 빈칸(c1,가로1,세로1) | 빈칸(c2,가로1,세로1)

줄이 3에서 4로 늘었고, 커서는 새 줄의 첫 칸으로 갔습니다. Tab 뒤에 바로 타이핑한 ★Tab뒤가 4줄 1칸에 들어간 것으로 확인됩니다. 칸 수는 9에서 12로, 딱 한 줄치만 늘었습니다.

Tab 누르기 전 3줄, 마지막 칸에서 Tab 누른 뒤 4줄.
Tab 누르기 전 3줄, 마지막 칸에서 Tab 누른 뒤 4줄.

테두리는 PDF 안의 선을 세어 봤습니다. Tab 앞은 가로선 6개·세로선 6개, Tab 뒤는 가로선 7개·세로선 6개입니다. 줄이 하나 늘면서 세어진 가로선이 하나 늘었고 세로선은 그대로입니다. 선 하나하나의 굵기나 길이까지 견주지는 않았습니다.

같은 표의 가운데 칸(2줄 2칸)에서 Tab을 누르면 아무것도 늘지 않습니다.

   [t2_mid] 줄 수=3  전체 칸 수=9
     2행: A2-1(c0,…) | A2-2(c1,…) | ★A2-3(c2,…)

커서가 오른쪽 칸으로 옮겨 갔을 뿐이라 A2-3 앞에 붙었습니다. 저희가 눌러 본 두 자리(마지막 칸, 2줄 2칸) 중에서 줄이 늘어난 건 마지막 칸뿐입니다.

② 중간에 줄 끼워 넣기

4줄 3칸 표에서 커서를 2줄에 두고 아래에 줄 하나를 넣었습니다(자동화로는 TableInsertLowerRow).

   [k2_lower] 줄 수=5  전체 칸 수=15
     1행: A1-1 | A1-2 | A1-3
     2행: A2-1 | A2-2 | A2-3
     3행: 빈칸 | 빈칸 | 빈칸
     4행: A3-1 | A3-2 | A3-3
     5행: A4-1 | A4-2 | A4-3

빈 줄이 2줄과 3줄 사이에 들어갔고, 원래 3·4줄은 4·5줄로 밀렸습니다. 선도 가로 8개·세로 6개로, 4줄일 때보다 가로선이 하나 늘었습니다. 위 방향을 고르면(TableInsertUpperRow) 새 줄이 2줄 자리에 들어가고 원래 2줄이 3줄로 밀립니다.

   [mid_upper] 줄 수=5
     1행: A1-1 | A1-2 | A1-3
     2행: 빈칸 | 빈칸 | 빈칸
     3행: A2-1 | A2-2 | A2-3

③ 병합된 칸이 있는 표

1칸의 2~3줄을 세로로 합친 표를 만들었습니다. .hwpx에서 읽으면 이렇게 보입니다.

   [t3_before] 줄 수=4  전체 칸 수=11
     1행: B1-1(c0,가로1,세로1) | B1-2(c1,…) | B1-3(c2,…)
     2행: B2-1B3-1(c0,가로1,세로2) | B2-2(c1,…) | B2-3(c2,…)
     3행: B3-2(c1,…) | B3-3(c2,…)
     4행: B4-1(c0,…) | B4-2(c1,…) | B4-3(c2,…)

2줄의 첫 칸이 세로2가 되고, 3줄에는 첫 칸이 아예 없습니다. 전체 칸 수가 12에서 11로 줄어든 게 그 뜻입니다.

③-a 병합 표의 마지막 칸에서 Tab

   [t3_after] 줄 수=5  전체 칸 수=14
     2행: B2-1B3-1(c0,가로1,세로2) | B2-2 | B2-3
     3행: B3-2 | B3-3
     5행: ★Tab뒤(c0,…) | 빈칸 | 빈칸

줄이 4에서 5로 늘고, 2줄의 세로2 병합은 건드려지지 않았습니다. 새로 생긴 줄은 병합 없는 세 칸짜리입니다. 이번에 쓴 세로 병합(첫 칸 2~3줄)에 한해서는, 표 끝에 줄을 붙이는 데 병합이 걸림돌이 되지 않았습니다.

③-b 병합된 칸 안에 커서를 두고 아래에 줄 추가

   [k3a_insert_in_merge] 줄 수=5  전체 칸 수=14
     2행: B2-1B3-1(c0,가로1,세로2) | B2-2 | B2-3
     3행: B3-2 | B3-3
     4행: 빈칸 | 빈칸 | 빈칸
     5행: B4-1 | B4-2 | B4-3

새 줄이 병합 덩어리 바로 아래(4줄 자리)에 들어갔습니다. 병합은 세로2 그대로고 새 줄은 세 칸 다 있습니다. 대개 이게 원하던 결과입니다.

③-c 병합 옆 칸에 커서를 두고 아래에 줄 추가

같은 구조의 병합 표를 새로 만들고, 이번에는 커서를 2줄 2칸(병합된 칸의 옆)에 두고 똑같이 아래에 줄을 넣었습니다.

   [k3c_insert_beside_merge] 줄 수=5  전체 칸 수=13
     2행: B2-1B3-1(c0,가로1,세로3) | B2-2 | B2-3
     3행: 빈칸(c1) | 빈칸(c2)
     4행: B3-2 | B3-3
     5행: B4-1 | B4-2 | B4-3

병합이 세로2에서 세로3으로 늘었습니다. 새 줄에는 칸이 둘뿐이고, 왼쪽은 병합된 칸이 이어서 덮습니다. 전체 칸 수도 14가 아닌 13입니다. 표를 세로로 자른 왼쪽 열은 줄이 안 늘고 오른쪽 두 열만 늘어난 모양이 됩니다.

병합 표 셋 비교. 원래 표, 병합 칸 안에서 줄 추가, 병합 옆 칸에서 줄 추가.
병합 표 셋 비교. 원래 표, 병합 칸 안에서 줄 추가, 병합 옆 칸에서 줄 추가.

구조 로그에서 왼쪽 병합 칸의 rowSpan이 2에서 3으로 늘었고, 그림 오른쪽에서도 그 칸이 새 줄까지 내려와 있습니다. 선 개수는 병합 표 원본이 가로 7·세로 6, 두 삽입 결과가 모두 가로 8·세로 6이었습니다. 두 경우 다 세어진 가로선이 하나 늘고 세로선은 같았습니다.

결과

무엇을 했나줄 수칸 수병합PDF 선 개수(가로/세로)새 줄이 생긴 자리
일반 표, 마지막 칸에서 Tab3 → 49 → 12해당 없음6/6 → 7/6맨 아래
일반 표, 가운데 칸에서 Tab3 → 39 → 9해당 없음재지 않음안 생김(커서만 이동)
일반 표, 2줄에서 아래에 줄 추가4 → 512 → 15해당 없음8/62줄과 3줄 사이
일반 표, 2줄에서 위에 줄 추가4 → 512 → 15해당 없음재지 않음1줄과 2줄 사이
병합 표, 마지막 칸에서 Tab4 → 511 → 14세로2 유지7/6 → 재지 않음맨 아래
병합 표, 병합된 칸 안에서 아래에 줄 추가4 → 511 → 14세로2 유지7/6 → 8/6병합 덩어리 바로 아래
병합 표, 병합 옆 칸에서 아래에 줄 추가4 → 511 → 13세로2 → 세로37/6 → 8/6병합 안쪽(칸 두 개짜리 줄)

가운데 칸에서 Tab을 누른 경우만 줄 수가 그대로고, 나머지 여섯은 한 줄씩 늘었습니다. 갈리는 곳은 칸 수입니다. 병합 표 세 시험 중 마지막 칸 Tab과 병합 칸 안에서의 줄 추가는 14칸이 됐고, 병합 옆 칸에서의 줄 추가만 13칸이 됐습니다. 표를 고치고 나서 모양이 이상하면 줄 수와 함께 칸 수도 세 보시면 이 경우를 가려낼 수 있습니다.

여러 문서를 한꺼번에 고쳐야 할 때

같은 일을 자동화로 돌리려면 한글 COM의 액션 이름을 씁니다. 여기서 한 번 걸렸습니다. Tab 키와 이름이 비슷한 TableRightCell은 마지막 칸에서 False를 돌려주고 줄을 늘리지 않습니다. 줄까지 늘리는 건 TableRightCellAppend입니다.

  4줄 3칸 표에서:
    Run(TableRightCell          ) -> False   ← 줄 수 그대로 4, 글자만 마지막 칸에 붙음
  3줄 3칸 표에서:
    Run(TableRightCellAppend    ) -> True    ← 줄 수 4, 커서는 새 줄 첫 칸
    Run(TableAppendRow          ) -> True    ← 줄 수 4, 커서는 새 줄 맨 오른쪽 칸
    Run(TableInsertRow          ) -> False   ← 줄 수 그대로 3, 아무것도 안 일어남

줄을 끼워 넣는 건 TableInsertLowerRowTableInsertUpperRow입니다. 손으로 할 수 있는 일이면 리본 단추로 하는 편이 낫습니다. 이 목록은 문서가 수십 개일 때를 위한 것입니다.

실패한 것

확인하지 않은 것

함께 보기