你已经很接近了,我们只需要修改一些代码。
Set Sh = Pres.Slides(1).Shapes.AddLabel(Orientation:=msoTextOrientationHorizontal, _
Left:=80, Top:=58, Width:=150, Height:=45)
Sh.TextFrame.TextRange.Text = Worksheets("Image ppt").Range("C38").Value
Sh.TextFrame.TextRange.Font.Color = RGB(0, 75, 125)
Sh.TextFrame.TextRange.Font.Size = 16
Sh.TextFrame.TextRange.Font.Bold = True
'Add this to align the content of the textbox to the right.
Sh.TextFrame.TextRange.ParagraphFormat.Alignment = ppAlignRight
'Select the Shape.
Sh.Select
'With the active selection, align it to the upper right corner.
With Application.ActiveWindow.Selection.ShapeRange
'If you want it exactly in the upper right corner use this.
.Align msoAlignRights, msoTrue
.Align msoAlignTops, msoTrue
'If you want a little space between the slide & the text box, this is
'the approximate value for the upper right corner.
.Left = 870
.Top = 10
End With
我所做的只是添加将 TextRange 的内容向右对齐的代码:
'Add this to align the content of the textbox to the right.
Sh.TextFrame.TextRange.ParagraphFormat.Alignment = ppAlignRight
现在,为了将文本框本身与幻灯片的右上角对齐,我将把文本框添加到形状范围中。从这里开始,我将使用内置的 align 方法将其与幻灯片的顶部和最右边的角对齐。
'Select the Shape.
Sh.Select
'With the active selection, align it to the upper right corner.
With Application.ActiveWindow.Selection.ShapeRange
'If you want it exactly in the upper right corner use this.
.Align msoAlignRights, msoTrue
.Align msoAlignTops, msoTrue
'If you want a little space between the slide & the text box, this is
'the approximate value for the upper right corner.
.Left = 870
.Top = 10
End With