1. 헤더 가운데 정렬, 글자 굵게
가. 티스토리에서 가운데 정렬, 글자 굵게
구분 | 내용 |
1. 구분1 | 내용은 이렇습니다. |
위와 같은 표에서 첫번째 줄 구분과 내용을 가운데 정렬하려면 구분과 정렬을 마우스로 끌어서 범위로 지정한 후 도구 상자에서 가운데 정렬 아이콘을 누르면 됩니다.
그러면 아래와 같이 되고, 그리고 굵게 하려면 마찬가지로 범위를 선택한 후 도구 상자에서 B 아이콘을 누르면 됩니다.
구분 | 내용 |
1. 구분1 | 내용은 이렇습니다. |
나. 엑셀에서 가운데 정렬, 글자 굵게
가운데 정렬은 <td> 태그안에 style="text-align:center"을 추가하고, 글자 굵게는 글자 좌우에 <b> 태그를 추가하면 됩니다.
따라서 아래와 같이 코드를 수정하면 됩니다.
당초 | 수정 |
<td>구분</td> | <td style="text-align:center;"><b>구분</b><//td> |
그리고, 1행만 그렇게 해야 하므로 if 조건문을 사용해야 합니다. 따라서, https://lsw3210.tistory.com/149 에서 작성한 코드중 반복해서 td를 작성하는 부분을 수정해야 합니다.
먼저 위 파일을 여는데 매크로 실행이 안된다고 하면
https://lsw3210.tistory.com/146 글을 참고하여 신뢰할 수 있는 위치를 추가한 다음 그 위치에 저장해야 합니다.
파일 탭에서 '다른이름으로 저장' 메뉴를 선택한 후 '티스토리변환(병합)'이라고 파일명을 수정하고 저장 버튼을 누릅니다.
윈도우 또는 엑셀 버전에 따라 아래와 같은 화면일 수도 있습니다.
개발도구 - Visual Basic 명령을 눌러 VBE(Visual Basic Editor)를 실행한 후
오른쪽 코드 창을 아래와 같이 수정합니다.
Sub make_table()
'변수 형식 선언
Dim end_Row As Integer, end_Col As Integer, i As Integer, j As Integer
' 마지막 행과 열을 구함
end_Row = Range("a1000").End(xlUp).Row
end_Col = Cells(Range("a1000").End(xlUp).Row + 1, 100).End(xlToLeft).Column
If end_Col = 1 Then
For j = 1 To 100
If InStr(Cells(end_Row, j), "<tr>") > 0 Then
end_Col = j - 1
Exit For
End If
Next
End If
' 기존 데이터 지움
Range(Cells(1, end_Col + 1), Cells(end_Row, 100)).ClearContents
' 첫번째로 기록할 셀에 table, tbody 입력
Cells(1, end_Col + 1) = "<table style='border-collapse: collapse; width: 100%;' border='1' data-ke-align='alignLeft'><tbody>"
'1행부터 끝행까지 반복 처리
For i = 1 To end_Row
'1열부터 끝열까지 반복 처리
For j = 1 To end_Col
'첫열에는 여는 tr태그, 끝열에는 닫는 tr태그를 넣고, 나머지는 td태그로 열고 닫기만 함
Select Case j
Case 1:
If i = 1 Then
Cells(i, end_Col + j) = Cells(i, end_Col + j) & "<tr><td style='text-align:center;'><b>" & Cells(i, j) & "</b></td>"
Else
Cells(i, end_Col + j) = Cells(i, end_Col + j) & "<tr><td>" & Cells(i, j) & "</td>"
End If
Case end_Col:
If i = 1 Then
Cells(i, end_Col + j) = Cells(i, end_Col + j) & "<td style='text-align:center;'><b>" & Cells(i, j) & "</b></td></tr>"
Else
Cells(i, end_Col + j) = Cells(i, end_Col + j) & "<td>" & Cells(i, j) & "</td></tr>"
End If
Case Else:
If i = 1 Then
Cells(i, end_Col + j) = Cells(i, end_Col + j) & "<td style='text-align:center;'><b>>" & Cells(i, j) & "</b></td>"
Else
Cells(i, end_Col + j) = Cells(i, end_Col + j) & "<td>" & Cells(i, j) & "</td>"
End If
End Select
Next
Next
' 마지막에 닫는 tbody와 table 태그 추가
Cells(end_Row, end_Col + j - 1) = Cells(end_Row, end_Col + j - 1) & "</tbody></table>"
End Sub
주의할 점은 style="text-align:center;"라고 큰따옴표안에 넣으면 밖의 큰따옴표와 짝을 찾기 때문에 style 문을 style='text-align:center;'와 같이 작은 따옴표로 감싸야 한다는 것입니다.
3. 티스토리에 붙여넣기
가. 엑셀에서 작업
C1을 마우스 왼쪽 버튼으로 클릭한 다음 Shift 키를 누른 상태에서 Ctrl키와 End키를 누릅니다. 그러면 아래와 같이 HTML 코드 부분이 선택됩니다. 홈 탭에서 복사 명령을 누릅니다.
나. 티스토리에서 작업
티스토리에서 기본모드를 누른 다음 HTML 모드로 변경합니다.
그리고, 맨 아래로 이동한 다음 Enter키를 눌러 한 줄을 추가한 다음 Ctrl + V키를 눌러 붙여넣습니다.
아래와 같이 되는데, 오른쪽으로 길어지기 때문에 오른쪽은 잘랐습니다.
이제 HTML 모드를 눌러 기본모드로 변경합니다.
아래와 같이 구분과 내용이 가운데 정렬되고, 글자도 굵게 표시됩니다.
구분 | 내용 |
1. 구분1 | 내용은 이렇습니다. |
파일명을 중복을 피하기 위해 뒷부분에 (가운데 정렬,굵게)을 추가했습니다.
병합된 셀은 따로 다루도록 하겠습니다.
'EXCEL - VBA' 카테고리의 다른 글
엑셀의 표를 티스토리의 표로 변환하는 매크로(4) - 셀 병합2 (1) | 2022.10.01 |
---|---|
엑셀의 표를 티스토리의 표로 변환하는 매크로(3) - 셀 병합1 (1) | 2022.09.29 |
엑셀의 표를 티스토리의 표로 변환하는 매크로(1) - HTML 작성 (2) | 2022.09.22 |
네이버 블로그의 글을 티스토리로 쉽게 옮기는 매크로 (3) | 2022.09.21 |
엑셀 매크로 파일(.xlsm)이 실행되지 않을 때(2) - 신뢰할 수 있는 위치 (0) | 2022.09.19 |