2012-11-16 4 views
0

북마크 위치로 이동해야하는 Word 문서의 모양이 있습니다. Word에서 셰이프를 책갈피 위치로 이동하는 방법

는 내가 "왼쪽"과 "최고"속성은, 그러나,이 내 "왼쪽"하지 않는 북마크 지식, "로 인해 작동하지 않습니다 올바른 속성을 사용하려고 노력했다. 내가 사용하는 것을 시도했다

. 절단 및 붙여 넣기하지만,이 모양이 작동하지 않습니다

을 다음은 모양 생성하는 코드입니다 :

Set shp = ActiveDocument.Content.InlineShapes.AddOLEControl("Forms.CommandButton.1") 

With ActiveDocument.InlineShapes(1).OLEFormat.Object 
    .Caption = "Test" 
    .Height = 30 
    .Width = 44 
End With 

With ActiveDocument.InlineShapes(1).ConvertToShape 
    .Name = "Test1" 
    .ZOrder (msoBringInFrontOfText) 
End With 
+1

질문에 포함 된 코드를 포함해야합니다. –

답변

1

을 대신 당신이 어딘가에 문서에 절대 위치를 사용할 수있는 책갈피를 사용하여

 Dim Test1 As Shape 

     Set Test1 = ActiveDocument.Shapes("Test1") 

     With Test1 
       .RelativeHorizontalPosition = wdRelativeHorizontalPositionPage 
       .RelativeVerticalPosition = wdRelativeVerticalPositionPage 
       .Left = InchesToPoints(6.889) 
       .Top = InchesToPoints(0.374) 
     End With 


     End Sub 
0

이것은 매우 오래된 스레드이지만 기본 전제는 여전히 유효하며 아래 그림과 같이 VBA를 사용하여 북마크 된 위치 (여기서 'bmShape'라는 책갈피)에 컨트롤을 삽입 할 수 있습니다.

Dim oRng As Range 
Dim oShp As InlineShape 
Set oRng = ActiveDocument.Bookmarks("bmShape").Range 
oRng.Text = "" 
Set oShp = oRng.InlineShapes.AddOLEControl("Forms.CommandButton.1") 
oRng.End = oRng.End + 1 
oRng.Bookmarks.Add "bmShape" 

With oShp.OLEFormat.Object 
    .Caption = "Test" 
    .Height = 30 
    .Width = 44 
End With 

With oShp.ConvertToShape 
    .Name = "Test1" 
    .WrapFormat.Type = wdWrapSquare 
    .WrapFormat.Side = wdWrapBoth 
End With 
관련 문제