vba - 调整PowerPoint演示文稿中所有文本框大小的宏
问题描述
我将 PDF 导出为 PowerPoint 演示文稿。PDF 有 A4 页,而 powerpoint 有宽幻灯片 (16:9),文本最终居中在每张幻灯片的中间三分之一左右。
我需要调整所有文本框的大小以适应宽幻灯片。我一直在谷歌搜索(第一天试图学习如何使用宏),我发现了一些可以调整图片大小的东西:
Sub Resize()
With ActiveWindow.Selection.ShapeRange
.Height = 470
.Width = 900
.Left = 30
.Top = 45
End with
End Sub
如果我选择了一个文本框并运行上面的宏,它会立即调整为我想要的尺寸。问题是我必须移动到下一张幻灯片,选择文本框,然后再次运行宏。
是否有任何方法可以自动执行此操作,以便通过运行宏一次来编辑整个 powerpoint?
谢谢你!
解决方案
在 PowerPoint 中,您遍历每张幻灯片上的每个形状,在调整形状大小之前测试形状是否正确:
Sub BatchChange()
Dim oSlide As Slide
Dim oShape As Shape
For Each oSlide In ActivePresentation.Slides
For Each oShape In oSlide.Shapes
If oShape.HasTextFrame Then
With oShape
.Height = 470
.Width = 900
.Left = 30
.Top = 45
End With
End If
Next oShape
Next oSlide
End Sub
如果幻灯片上有多个带有文本框的形状,它们将相互堆叠。
推荐阅读
- r - 如何在 markddown 中调整 R 输出表的大小?
- mongodb - 在 ID 数组中包含 ID 的 Mongoose 查询文档
- javascript - 无法从 Javascript 中的 phao mqtt onMessageArrived 函数分配变量
- android - 我如何设计像 webview 这样的 detailFragment?
- ios - 从单元格注销后访问登录屏幕视图控制器
- python - 简单的python字符串操作
- javascript - Next.js 和 Express 的 CORS 问题:对预检请求的响应未通过访问控制检查:
- amazon-s3 - 试图从 Lambda 获取图像,但我被拒绝访问。使用 Amplify 客户端库运行良好
- google-maps-api-3 - 谷歌地理编码 API - 每天免费请求?
- css - 来自 site.css 的 .netcore css