vba - Powerpoint VBA - 如何修改代码以正确循环?
问题描述
我有以下循环,用于在幻灯片 2 到 4 上创建一个三角形。
For i = 2 To 4
With ActivePresentation.Slides(i)
Dim tri As Shape
Set tri = ActiveWindow.Selection.SlideRange.Shapes.AddShape(msoShapeRightTriangle, 886, 0, 74, 74)
End With
Next i
该代码有效,但因为我正在调用ActiveWindow
,所以循环在同一张幻灯片(我从中运行宏的那个)而不是 3 张幻灯片上创建了 3 次三角形。
我知道这是问题所在,但我不知道如何修改那部分代码来修复它。相反需要什么?
解决方案
您需要使用迭代的演示幻灯片:
For i = 2 To 4
With ActivePresentation.Slides(i)
Dim tri As Shape
Set tri = .Shapes.AddShape(msoShapeRightTriangle, 886, 0, 74, 74)
End With
Next i
推荐阅读
- azure-devops - 如何在 Azure Build 上重新启动 ubuntu 代理?
- mysql - MySql - 如何根据加入另一个表的多个值从一个表中选择行
- sql - 多个内连接和子查询的查询优化
- javascript - Express.js:TypeError:res.sendFile 需要路径参数
- android - 所有现有项目的 Android Things 控制台将于 2022 年 1 月 5 日关闭
- json - 使用 ArduinoJson 库无法使用 JsonObject 解析 Json
- mongodb - .Net核心字典中的Mongodb $inc运算符
- uml - 支付场景用例图
- javascript - 上传文件,axios 工作,但 fetch API 没有,我做错了什么?
- discord - 使用 Discord.Js 更改 Discord 公会的图标