2016-10-26 1 views
0

인라인 텍스트 줄 바꿈을 사용하여 선택한 이미지 아래에 텍스트 상자를 삽입하고 이미지의 왼쪽 하단에 위치 시키려고합니다. 나는 많은 성공없이 아래의 코드를 사용하고있다. ShapeRange 또는 InlineShape를 사용할지 여부가 너무 명확하지 않습니다. 어떤 포인터?VBA를 사용하여 MS Word에서 인라인 도형 아래에 TextBox 추가

Dim shp As Object 
'Set shp = Selection.ShapeRange(1) 
'Set rng = shp.Anchor 
Set shp = Selection.InlineShapes(1) 
Set rng = shp.Range 

With ActiveDocument.Shapes.AddTextbox(Orientation:=msoTextOrientationHorizontal, Left:=shp.Left, Top:=(shp.Top + shp.Height), Width:=shp.Width/3, Height:=shp.Height/6, Anchor:=rng) 
    .TextFrame.TextRange.Font.Size = 14 
    .TextFrame.TextRange.Font.Color = RGB(186, 14, 29) 
    .TextFrame.TextRange.Font.Name = "Sabon MT" 
    .TextFrame.TextRange = "T" 
End With 

답변

0

내가 여기에서 모양의 좌표를 취득하기위한 솔루션을 찾기 위해 관리 :

Sub AddTextBox 

    Set shp = Selection.InlineShapes(1) 
    Set rng = shp.Range  
    Set tb = ActiveDocument.Shapes.AddTextbox(1, fcnXCoord, fcnYCoord + shp.Height, shp.Width, shp.Height/6) 

End Sub 

Function fcnXCoord() As Double 
    fcnXCoord = Selection.Information(wdHorizontalPositionRelativeToPage) 
End Function 

Function fcnYCoord() As Double 
    fcnYCoord = Selection.Information(wdVerticalPositionRelativeToPage) 
End Function 
: 여기 http://www.vbaexpress.com/forum/archive/index.php/t-48831.html

은 내 코드입니다