텍스트박스의 여백의 기본값은 좌우 0.25cm, 위아래 0.13cm인데, 대부분의 경우, 그대로 두는 것이 좋다.
하지만, 아래 그림의 박스처럼, 약간의 공간이 부족해서, 텍스트의 줄이 밀리는 경우가 있는데, 여백값을 조정해주면 원하는 결과를 얻을 수 있다.
또, 텍스트박스의 줄을 맞출 때, 여백이 있다면, 시작점을 맞추기 애매한 경우가 있어, 아예 0으로 만드는 간단한 VBA를 짜본다.
코드는 아래와 같이 최대한 간단하게 짜보았다. 되기만 하면 되는거 아닌가.
테이블 분기를 두었으니, 테이블에서도 사용이 가능하다.
단일 오브젝트에 대해서만 처리가 가능하니 주의 해야한다.
Sub textMarginZero()
Dim shp As Shape
Dim activeshape As Shape
Dim myt As Table
If ActiveWindow.Selection.Type = ppSelectionShapes Then
For Each shp In ActiveWindow.Selection.ShapeRange
Set activeshape = shp
Exit For
Next shp
Else
MsgBox "There is no shape currently selected!", vbExclamation, "No Shape Found"
Exit Sub
End If
If shp.HasTable Then
Set myt = shp.Table
cnum = myt.Columns.Count
rnum = myt.Rows.Count
With myt
For c = 1 To cnum
For r = 1 To rnum
.Cell(r, c).Shape.TextFrame2.MarginTop = 0
.Cell(r, c).Shape.TextFrame2.MarginBottom = 0
.Cell(r, c).Shape.TextFrame2.MarginLeft = 0
.Cell(r, c).Shape.TextFrame2.MarginRight = 0
.Cell(r, c).Shape.TextFrame2.VerticalAnchor = msoAnchorMiddle
Next r
Next c
End With
Else
With shp.TextFrame2
.MarginTop = 0
.MarginBottom = 0
.MarginLeft = 0
.MarginRight = 0
.VerticalAnchor = msoAnchorMiddle
End With
End If
End Sub
끝.