Ray는 전체 Word 표를 픽셀 단위로 세로로 이동할 수있는 방법이 있는지 궁금합니다. 그가 읽은 모든 것은 그것을 잡고 Alt 키를 누르고 있으면 허용되지만 원활하게 작동하지 않는다는 것을 나타냅니다.

Ray가 어디에서 읽었는지 확실하지 않지만 Alt 키를 사용하면 테이블 이동을 허용하지 않습니다. 사실 표 이동에는 전혀 작동하지 않는 것 같습니다. 한 가지 예외가 있습니다. Shift + Alt를 누른 다음 위쪽 또는 아래쪽 화살표 키를 사용하면 표가 문서의 전체 단락에서 위아래로 이동합니다.

다른 키 입력 조합도 작동하지 않습니다. 넛지 테이블은 문서 내의 다른 개체와 마찬가지로 작동한다고 생각할 수 있습니다. 개체를 선택한 다음 화살표 키를 사용하여 조금 이동합니다. 그러나 테이블에서는 전혀 작동하지 않습니다. 표를 선택한 다음 위쪽 또는 아래쪽 화살표 키를 누르면 Word에서 표를 선택 취소하고 삽입 포인터를 문서의 표 위나 아래로 이동합니다.

그러나 사용할 수있는 몇 가지 해결 방법이 있습니다. 먼저 문서에 표를 넣는 방법을 조정할 수 있습니다. 간단히 텍스트 상자에 넣은 다음 화살표 키를 사용하여 텍스트 상자를 조금씩 이동할 수 있습니다.

(텍스트 상자의 테두리를 표시하지 않도록 서식을 지정할 수도 있습니다.)

또 다른 해결 방법은 매크로를 사용하여 이동하는 것입니다. 다음 매크로는 테이블을 한 픽셀 위로 이동합니다.

Sub MoveTableUp1()

' set pxl to the number of pixels to move: positive for down and '   negative for up     Const pxl As Single = -1

If Not Selection.Information(wdWithInTable) Then Exit Sub     With Selection.Tables(1)

.Rows.VerticalPosition = .Rows.VerticalPosition + PixelsToPoints(pxl)

End With End Sub

당신이해야 할 일은 당신이 조금씩 움직일 표 안에 삽입 점이 있는지 확인하는 것뿐입니다. 테이블을 위로 이동하는 대신 아래로 이동하려면 pxl 상수의 정의를 음수 1 대신 양수 1로 변경하면됩니다.

이 매크로에 대해주의해야 할 다른 사항이 있습니다. 문서 레이아웃을 엉망으로 만들 수 있습니다. VerticalPosition 속성은 테이블이 텍스트를 감싸도록 구성된 경우에만 효과적입니다.

(이는 테이블 속성 대화 상자의 테이블 배치 영역에서 구성됩니다.)이를 인식하면 매크로를 사용하여 VerticalPosition 속성을 조정하면 테이블이 “없음”에서 “주변”으로 자동 변경됩니다. 이는 이전에 줄 바꿈을 설정하지 않았고 표가 텍스트 영역보다 좁 으면 페이지 레이아웃에 영향을 미칠 수 있습니다.

여기에 또 다른 잠재적 인 “잘못”이 있습니다. 위 매크로의 VerticalPosition 속성을 HorizontalPosition으로 변경하여 테이블의 가로 위치를 조정할 수 있다고 생각할 수 있습니다. 이것은 논리적으로 보이지만 매크로에서 작동하는 방식으로 인해 루프가 발생할 수 있습니다.

VerticalPosition 속성을 조정하면 표 줄 바꿈이 “none”에서 “around”로 변경되지만 HorizontalPosition 속성을 조정하면 그렇지 않습니다. 대신 일부 버전의 Word에서는 오류가 발생합니다.

이러한 모든 단점을 처리하는 가장 안전한 방법은 래핑 속성이 True로 설정된 경우에만 테이블을 조정하도록 매크로를 조정하는 것입니다.

Sub MoveTableUp2()

Dim sTemp As String

' set pxl to the number of pixels to move: positive for down and '   negative for up     Const pxl As Single = -1

sTemp = ""

If Selection.Information(wdWithInTable) Then         With Selection.Tables(1).Rows             If .WrapAroundText Then                 .VerticalPosition = .VerticalPosition + PixelsToPoints(pxl)

Else                 sTemp = "Table is inline. No action taken."

End If         End With     Else         sTemp = "The insertion point is not within a table. No action taken."

End If     If sTemp > "" Then MsgBox sTemp End Sub

이 매크로 변형에는 사용자에 대한 피드백이 조금 더 포함되어있어 아무 조치도 취하지 않으면 사용자에게 왜 그런지 알 수 있습니다.

원하는 경우 테이블을 한 번에 한 포인트 (1/72 인치)로 이동할 수 있습니다. 이 움직임을 처리 할 수있는 매크로 버전은 다음과 같습니다.

Sub MoveTableUp3()

Dim sTemp As String

' set pt to the number of points to move: positive for down and '   negative for up     Const pt As Single = -1

sTemp = ""

If Selection.Information(wdWithInTable) Then         With Selection.Tables(1).Rows             If .WrapAroundText Then                 .VerticalPosition = .VerticalPosition + pt             Else                 sTemp = "Table is inline. No action taken."

End If         End With     Else         sTemp = "The insertion point is not within a table. No action taken."

End If     If sTemp > "" Then MsgBox sTemp End Sub

이미 논의했듯이 수직이 아닌 수평으로 테이블을 이동하는 것은 VerticalPosition 속성이 아닌 Rows 객체와 함께 HorizontalPosition 속성을 사용하는 것입니다.

그러나 HorizontalPosition 속성이 VerticalPosition 속성과 어떻게 다른지에 대해 논의한주의 사항을 기억하십시오. 이를 염두에두고 4 가지 버전의 매크로 (표를 조금 움직일 수있는 네 방향 각각에 대해)를 생성 한 다음 매크로에 바로 가기 키를 할당 할 수 있습니다.

_ 참고 : _

이 페이지 (또는 WordTips 사이트의 다른 페이지)에 설명 된 매크로를 사용하는 방법을 알고 싶다면 유용한 정보가 포함 된 특별 페이지를 준비했습니다.

link : / wordribbon-WordTipsMacros [새 브라우저 탭에서 특별 페이지를 열려면 여기를 클릭하세요].

_WordTips_는 비용 효율적인 Microsoft Word 교육을위한 소스입니다.

(Microsoft Word는 세계에서 가장 인기있는 워드 프로세싱 소프트웨어입니다.)이 팁 (12136)은 Microsoft Word 2007, 2010, 2013, 2016, 2019 및 Office 365의 Word에 적용됩니다.