找回密码
 立即注册
搜索

如何在ppt上写VBA?

3
回复
546
查看
[复制链接]

4

主题

7

帖子

23

幻币

江湖少侠

Rank: 2

积分
192
QQ
2017-6-23 13:24:22 显示全部楼层 |阅读模式
word和excel都能录制,因此会方便很多。
但是只从2013版开始就没有了录制宏的功能。
我想了解一下,应该怎么在所有幻灯片里面都添加一个形状呢?
PPT学习论坛
回复

使用道具 举报

4

主题

9

帖子

65

幻币

江湖少侠

Rank: 2

积分
153
QQ
2017-6-23 15:10:33 显示全部楼层
给一个实例,你可照葫芦画瓢。
代码如下:
Sub 添加形状()
For Each sld In ActivePresentation.Slides
  For Each shp In sld.Shapes
    If shp.Type = 1 Then shp.Delete
  Next
Next
Set sld = Nothing
For i = 1 To ActivePresentation.Slides.Count
  Set sld = ActivePresentation.Slides(i)
  With sld.Shapes.AddShape(i, 30 * i, 20 * i, 300 + i * 8, 50 + i * 15)
        Randomize
       .Fill.BackColor.RGB = RGB(Int(Rnd * 255), Int(Rnd * 255), Int(Rnd * 255))
       .Fill.ForeColor.RGB = Choose(i Mod 5 + 1, vbMagenta, vbGreen, vbBlue, vbCyan, vbYellow, vbRed)
       With .TextFrame.TextRange
            .Text = "我是第" & i & "个性状"
            .Font.NameFarEast = Choose(i Mod 5 + 1, "宋体", "黑体", "华文新魏", "华文彩云", "华文细黑")
            .Font.Size = 20 + 4 * i
            .Font.Color.RGB = Choose(i, vbRed, vbGreen, vbBlue, vbYellow, vbCyan, vbMagenta)
       End With
       With .Glow
          .Color.RGB = Choose(i Mod 5 + 1, vbGreen, vbBlue, vbCyan, vbYellow, vbRed)
          .Radius = 0.1 * i
       End With
       With .ThreeD
         .BevelTopDepth = 20 * i
         .ExtrusionColor.RGB = Choose(i Mod 5 + 1, vbCyan, vbBlue, vbYellow, vbRed, vbGreen)
       End With
  End With
Next
End Sub
见附件。
test.zip (44.59 KB, 下载次数: 10)
PPT学习论坛
回复 支持 反对

使用道具 举报

4

主题

15

帖子

28

幻币

江湖少侠

Rank: 2

积分
157
QQ
2017-6-23 16:23:09 显示全部楼层
你是怎么学习ppt的vba编程的啊?
PPT学习论坛
回复 支持 反对

使用道具 举报

1

主题

6

帖子

90

幻币

江湖少侠

Rank: 2

积分
153
QQ
2017-6-23 17:08:40 显示全部楼层
从自己的工作实际出发,以实用为主,上网搜索示例,加以改造,并以实例所关涉的知识为抓点,延及其他,逐步扩散。
PPT学习论坛
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册