TextFrame или TextRange не имеют элемента border.Родительский Shape может иметь такие границы:
Dim sld as Slide, shp as Shape
Set sld = Activepresentation.Slides(1)
Set shp = sld.Shapes.AddShapes(msoShapeRectangle, 100,100,100,100)
With shp
.Line.Visible = True
.Line.Weight = 2
.Line.ForeColor.RGB = RGB(255,0,0)
End with
Чтобы поместить статическую рамку, я думаю, что вы можете сначала добавить прямоугольник или TextBox.А затем снова добавьте TextBox с содержимым ячейки Excel.(Но если добавить текстовое поле с помощью AddTextBox, граница фигуры по умолчанию является статической, даже если в ней нет текста.)
В любом случае, я протестировал следующий код:
Set ppSlide2 = ActivePresentation.Slides.Add(ActivePresentation.Slides.Count, ppLayoutBlank).Shapes
'first, add a box(rectangle) or textbox so that the z-order can be lower than the next Textbox
Set HeaderBOX = ppSlide2.AddShape(msoShapeRectangle, 75, 150, 800, 700)
'or Set HeaderBOX = ppSlide2.AddTextbox(msoTextOrientationHorizontal, 75, 150, 800, 700)
With HeaderBOX
.Name = "HeaderBOX"
.Fill.Visible = False 'make it transparent
.Line.Visible = True
.Line.ForeColor.RGB = rgbBlack 'RGB(0,0,0)
.Line.Weight = 2
End With
'then, add a textbox
Set HeaderPPT = ppSlide2.AddTextbox(msoTextOrientationHorizontal, 75, 150, 800, 700).TextFrame.TextRange
With HeaderPPT
.Text = vbNewLine & "Excel Cell Text Here"
.ParagraphFormat.Alignment = ppAlignCenter
.Font.Bold = True
.Font.Name = "Calibri Light"
.Font.Size = 55
End With