用VBA如何修改PPT选中文本的线条宽度和颜色
PPT中手动设置文本的线条宽度和颜色如截图,用VBA如何修改呢?试试了N种方法都失败,我写的其中一种代码如下,求各位指教。
Sub 修改选中文本所在文本框线条宽度()
Dim 选中对象 As Object
Dim 文本框 As shape
Dim 文本范围 As Object
' 步骤1:获取选中对象(兼容形状选择或文本选择)
On Error Resume Next
Set 选中对象 = ActiveWindow.Selection
' 尝试直接获取形状(若选中的是文本框本身)
Set 文本框 = 选中对象.ShapeRange(1)
' 若未获取到形状,尝试通过选中文本反推文本框(若选中的是文本内容)
If 文本框 Is Nothing Then
Set 文本范围 = 选中对象.textRange
If Not 文本范围 Is Nothing Then
' 文本范围的父对象是文本框(TextFrame的父对象是Shape)
Set 文本框 = 文本范围.Parent.Parent ' Parent.Parent:TextRange→TextFrame→Shape
End If
End If
On Error GoTo 0
' 步骤2:验证是否找到文本框
If Not 文本框 Is Nothing Then
' 检查是否为包含文本的文本框
If 文本框.HasTextFrame And 文本框.TextFrame.HasText Then
' 步骤3:修改文本框线条宽度为1.75磅(形状选项→线条→宽度)
With 文本框.Line
.Visible = msoTrue ' 确保线条可见
.Weight = 1.75 ' 线条宽度(单位:磅)
.DashStyle = msoLineSolid ' 实线样式
End With
MsgBox "成功!文本框线条宽度已设为1.75磅。", vbInformation
Else
MsgBox "选中的形状不是文本框或无文本内容。", vbExclamation
End If
Else
MsgBox "请选中文本框或其内部文本后重试。", vbExclamation
End If
End Sub