2011-02-04 5 views
0

사용자가 콤보 상자에서 사무실 분기를 선택할 수 있도록 매크로를 작성했습니다. 이제는 관련 문서를 특정 장소. 테이블을 만들 때 주소를 보유하는 테이블을 사용하지만, 커서가 페이지의 어느 위치에 놓여 있든간에 테이블이 작성됩니다.VBA를 사용하여 Word 문서의 특정 위치에 테이블 위치 지정

테이블에 정확히 (x, y) 위치가 표시되도록하는 방법을 찾지 못하는 것 같습니다. 문서에는 텍스트가 없지만 텍스트는 없으므로 참조 할 부분이 없습니다.

가능한 경우 Active X 컨트롤을 사용하지 않기 위해 노력하고 있습니다.

답변

5

이 코드는 세 번째 단락과 두 번째 단락과 세 번째 단락 사이에 한 개의 행 표를 추가합니다.

Sub InsertTable() 

    Dim tbl As Table 
    Dim pg As Paragraph 

    With ThisDocument 
     'Add a new paragraph that the table will replace 
     Set pg = .Paragraphs.Add(.Paragraphs(3).Range) 
     'Add a table in place of the new paragraph 
     Set tbl = .Tables.Add(pg.Range, 1, 3) 
    End With 

    tbl.Columns(1).Cells(1).Range.Text = "123 Main St" 
    tbl.Columns(2).Cells(1).Range.Text = "City" 
    tbl.Columns(3).Cells(1).Range.Text = "State" 
    tbl.Rows.LeftIndent = 41 

End Sub 
+0

이 제안에 감사드립니다. 나는 그것이 더 많거나 적게 작동하도록 만들었지 만, 나는 지금 페이지에 수평으로 배치하고있다. 들여 쓰기 등을 사용해도 효과가 있을지는 모르겠지만 전혀 효과가없는 것 같습니다. 나는 그 테이블을 중심에 두었지만, 아슬 아슬하면 가까워 지지만 충분히 가깝지는 않습니다. 이견있는 사람? – Pirificio

+0

아마도 행의 LeftIndent 속성입니다. 예를 들어 줄 코드를 편집했습니다. 테이블 포맷으로 정말 멋지게 만들고 싶다면 매크로를 기록하고 수동으로 원하는 포맷을 지정하십시오. 기록 된 매크로는 조작해야 할 오브젝트, 특성 및 메소드를 제공합니다. –

1

당신은 수평 및 수직

tbl.Rows.HorizontalPosition = 150 'In points 
tbl.Rows.VerticalPosition = 200 

희망 도움이 해당 테이블을 배치하려면이 옵션을 사용할 수 있습니다.

관련 문제