高手进!!PPT 宏 分批修改正文和标题
求教高手:这段代码只能实现所有页面的字体一起修改,但是我需要正文改一种,标题另外一种格式,请问如何实现?是还需要再添加一段代码吗?请高手帮忙完善!谢谢哈~Sub OED01() '批量修改字体格式、大小和颜色
Dim oShape As Shape
Dim oSlide As Slide
Dim oTxtRange As TextRange
On Error Resume Next
For Each oSlide In ActivePresentation.Slides
For Each oShape In oSlide.Shapes
Set oTxtRange = oShape.TextFrame.TextRange
If Not IsNull(oTxtRange) Then
With oTxtRange.Font
.Name = "楷体_GB2312" '改成你需要的字体
.Size = 20 '改成你需要的文字大小
.Color.RGB = RGB(Red:=255, Green:=0, Blue:=0) '改成你想要的文字颜色
End With
End If
Next
Next
End Sub
非常感谢,但是我运行之后,还是上面的标题和下面的正文都是一个色啊......不过有少数的文本框倒是变成不同的颜色了,但是不是出于PPT最上面的标题的位置,望指教!谢谢~~ 这个需要你录制宏,看看两者属性上有什么差别,找到差别才可以
Sub OED01() '批量修改字体格式、大小和颜色
Dim oShape As Shape
Dim oSlide As Slide
Dim oTxtRange As TextRange
On Error Resume Next
For Each oSlide In ActivePresentation.Slides
For Each oShape In oSlide.Shapes
Set oTxtRange = oShape.TextFrame.TextRange
If Not IsNull(oTxtRange) Then
With oTxtRange.Font
If .Color.SchemeColor = ppTitle Then
.Name = "楷体_GB2312" '改成你需要的字体
.Size = 28 '改成你需要的文字大小
.Color.RGB = RGB(Red:=255, Green:=0, Blue:=0) '改成你想要的文字颜色
Else
.Name = "楷体_GB2312" '改成你需要的字体
.Size = 20 '改成你需要的文字大小
.Color.RGB = RGB(Red:=255, Green:=255, Blue:=0) '改成你想要的文字颜色
End If
End With
End If
Next
Next
End Sub
我是个门外汉,都是今天速成的....高手你看看我还有什么方法? 我不会录制宏啊.....我知道你讲的问题是程序语言中的PPtitle 找不到PPT中的标题这一栏,但不知道还有什么方法可以帮助这句语句来定位? 我这里没你的PPT文件,你可以这样试试:
Sub OED01() '批量修改字体格式、大小和颜色
Dim oShape As Shape
Dim oSlide As Slide
Dim oTxtRange As TextRange
On Error Resume Next
For Each oSlide In ActivePresentation.Slides
For Each oShape In oSlide.Shapes
Set oTxtRange = oShape.TextFrame.TextRange
If Not IsNull(oTxtRange) Then
With oTxtRange.Font
If TypeOf oShape Is TextBox Then
.Name = "楷体_GB2312" '改成你需要的字体
.Size = 28 '改成你需要的文字大小
.Color.RGB = RGB(Red:=255, Green:=0, Blue:=0) '改成你想要的文字颜色
Else
.Name = "楷体_GB2312" '改成你需要的字体
.Size = 20 '改成你需要的文字大小
.Color.RGB = RGB(Red:=255, Green:=255, Blue:=0) '改成你想要的文字颜色
End If
End With
End If
Next
Next
End Sub
你应该先获取文本框的名称,再根据文本框的名称对指定的文本框进行操作。
补充:VB , VBA