ppt调整三级标题的位置

---恢复内容开始---

标题格式:一级标题   中文数字加、例如 一、

二级标题  中文数字加:   例如二:

三级标题  小写数字加、  例如3、

使用方法: 打开PPT  按alt+f11,打开vb编辑框,选择插入模块

 

把代码复制进去按F5就ok了

 

 

 

代码如下

   

  1 Sub Change()
  2     Dim s       As Slide
  3     Dim shp     As Shape
  4     Dim trng    As TextRange
  5     Dim i       As Integer
  6     Dim JudgeBit   '判断的位数
  7     JudgeBit = 4
  8           'Slides.Shapes(1).AddShape(msoShapeRectangle, 0, 0, 250, 140).TextFrame
  9 
 10             '  Slides.Shapes(1).TextFrame.TextRange.Characters.Text = "文sadasd字"
 11     ' /* 遍历活动窗口中打开的演示文稿中的幻灯片. */
 12     For Each s In ActivePresentation.Slides
 13         ' /* 遍历当前幻灯片中的形状对象. */
 14         For Each shp In s.Shapes
 15             ' /* 当前幻灯片中的当前形状含有文本框架. */
 16             If shp.HasTextFrame Then
 17                 ' /* 当前幻灯片中的当前形状包含文本. */
 18                 If shp.TextFrame.HasText Then
 19                     ' 引用文本框架中的文本.
 20                     
 21                     Set trng = shp.TextFrame.TextRange
 22                      For i = 1 To JudgeBit  'trng.Characters.Count
 23                         '判断是否为大标题  格式是  一、
 24                         If trng.Characters(i).Text = "" _
 25                         Or trng.Characters(i).Text = "" _
 26                         Or trng.Characters(i).Text = "" _
 27                         Or trng.Characters(i).Text = "" _
 28                         Or trng.Characters(i).Text = "" _
 29                         Or trng.Characters(i).Text = "" _
 30                         Or trng.Characters(i).Text = "" _
 31                         Or trng.Characters(i).Text = "" _
 32                         Or trng.Characters(i).Text = "" _
 33                         Or trng.Characters(i).Text = "" _
 34                             Then
 35                             If (trng.Characters(i + 1).Text = "") Then
 36                                 i = JudgeBit
 37                                 '设置字体格式
 38                                 trng.Font.NameFarEast = "微软雅黑"   '设置中文字体
 39                                 trng.Font.Name = "微软雅黑"          '设置英文字体
 40                                 trng.Font.Size = "32"
 41                                 trng.Font.Color.RGB = RGB(Red:=50, Green:=50, Blue:=150)
 42                                 
 43                                 '文本框在当页的位置
 44                                 shp.Top = 20
 45                                 shp.Left = 20
 46                                 
 47                                     '设置文本属性
 48                                     With shp
 49                                     .TextFrame.HorizontalAnchor = msoAnchorNone
 50                                     .TextFrame.MarginTop = 0       '字体在边框中的位置
 51                                     .TextFrame.MarginBottom = 0
 52                                     .TextFrame.MarginLeft = 0
 53                                     .TextFrame.MarginRight = 0
 54                                     .TextFrame.VerticalAnchor = msoAnchorMiddle     '设置垂直对齐方式
 55                                     .TextFrame2.TextRange.ParagraphFormat.Alignment = msoAlignLeft   '设置对齐方式
 56                                     
 57                                     'shp.TextFrame.Orientation                       '设置文本框方向
 58                                     'shp.TextFrame.WordWrap                          '自动换行
 59                                     
 60                                     End With
 61                                 '判断二级标题
 62                             ElseIf (trng.Characters(i + 1).Text = "") Then
 63                                 i = JudgeBit    'trng.Characters.Count
 64                                 '设置字体格式
 65                                 trng.Font.NameFarEast = "微软雅黑"     '设置中文字体
 66                                 trng.Font.Name = "微软雅黑"            '设置英文字体
 67                                 trng.Font.Size = "20"
 68                                 trng.Font.Color.RGB = RGB(Red:=100, Green:=0, Blue:=0)
 69                                 
 70                                 '文本框在当页的位置
 71                                 shp.Top = 80
 72                                 shp.Left = 20
 73                                 
 74                                     '设置文本属性
 75                                     With shp
 76                                     .TextFrame.HorizontalAnchor = msoAnchorNone
 77                                     .TextFrame.MarginTop = 0       '字体在边框中的位置
 78                                     .TextFrame.MarginBottom = 0
 79                                     .TextFrame.MarginLeft = 0
 80                                     .TextFrame.MarginRight = 0
 81                                     .TextFrame.VerticalAnchor = msoAnchorMiddle     '设置垂直对齐方式
 82                                     .TextFrame2.TextRange.ParagraphFormat.Alignment = msoAlignLeft   '设置对齐方式
 83                                     
 84                                     'shp.TextFrame.Orientation                       '设置文本框方向
 85                                     'shp.TextFrame.WordWrap                          '自动换行
 86                                     End With
 87                             End If
 88 
 89                         
 90                          '判断三级标题 格式是  1.
 91                         ElseIf trng.Characters(i).Text = "1" _
 92                         Or trng.Characters(i).Text = "2" _
 93                         Or trng.Characters(i).Text = "3" _
 94                         Or trng.Characters(i).Text = "4" _
 95                         Or trng.Characters(i).Text = "5" _
 96                         Or trng.Characters(i).Text = "6" _
 97                         Or trng.Characters(i).Text = "7" _
 98                         Or trng.Characters(i).Text = "8" _
 99                         Or trng.Characters(i).Text = "9" _
100                         Or trng.Characters(i).Text = "10" _
101                             Then
102                             
103                             If (trng.Characters(i + 1).Text = "") Then
104                             i = JudgeBit
105                             '设置字体格式
106                             trng.Font.NameFarEast = "微软雅黑"       '设置中文字体
107                             trng.Font.Name = "微软雅黑"              '设置英文字体
108                             trng.Font.Size = "20"
109                             trng.Font.Color.RGB = RGB(Red:=0, Green:=100, Blue:=0)
110                             
111                             '文本框在当页的位置
112                             shp.Top = 120
113                             shp.Left = 30
114                             
115                             '设置文本属性
116                                 With shp
117                                 .TextFrame.HorizontalAnchor = msoAnchorNone
118                                 .TextFrame.MarginTop = 0       '字体在边框中的位置
119                                 .TextFrame.MarginBottom = 0
120                                 .TextFrame.MarginLeft = 0
121                                 .TextFrame.MarginRight = 0
122                                 .TextFrame.VerticalAnchor = msoAnchorMiddle     '设置垂直对齐方式
123                                 .TextFrame2.TextRange.ParagraphFormat.Alignment = msoAlignLeft   '设置对齐方式
124                                 
125                                 'shp.TextFrame.Orientation                       '设置文本框方向
126                                 'shp.TextFrame.WordWrap                          '自动换行
127                                 End With
128                             End If
129                         Else
130                         trng.Font.NameFarEast = "黑体"  '设置中文字体
131                         trng.Font.Name = "黑体"         '设置英文字体
132                         End If
133                         
134                     Next
135                     ' /* 遍历文本框架中的每一个字符. */
136                    
137                     
138                 End If
139             End If
140         Next
141     Next
142 End Sub

 

 

 

 

 

 

 效果

 

---恢复内容结束---

posted @ 2018-01-17 21:17  夏日已末  阅读(4646)  评论(0编辑  收藏  举报