vba - 在所有 powerpoint 文本框上设置“溢出时收缩文本”选项的 VBA 代码
问题描述
我正在搜索一个 VBA 代码,它为 PowerPoint 文档中的所有文本框激活“溢出时收缩文本”选项。我试过这个:
Sub Change()
Dim oSlide As Slide
Dim oShape As Shape
For Each oSlide In ActivePresentation.Slides
For Each oShape In oSlide.Shapes
oShape.TextFrame2.AutoSize = MsoAutoSize.msoAutoSizeTextToFitShape
Next oShape
Next oSlide
End Sub
但不幸的是,这不起作用。我是一个非常初学者。
任何想法 ?
谢谢你。
解决方案
只需使用msoAutoSizeTextToFitShape而不是 MsoAutoSize.msoAutoSizeTextToFitShape。首先检查形状是否真的有一个文本框也很好。这个版本也获得了组内的形状:
Sub Change()
Dim oSlide As Slide
Dim oShape As Shape
Dim oSubShape As Shape
For Each oSlide In ActivePresentation.Slides
For Each oShape In oSlide.Shapes
If oShape.Type = msoGroup Then
For Each oSubShape In oShape.GroupItems
If oSubShape.HasTextFrame Then
oSubShape.TextFrame2.AutoSize = msoAutoSizeTextToFitShape
End If
Next oSubShape
Else
If oShape.HasTextFrame Then
oShape.TextFrame2.AutoSize = msoAutoSizeTextToFitShape
End If
End If
Next oShape
Next oSlide
End Sub
推荐阅读
- javascript - 使用 select2 更新数据
- php - 使用 SQLSRV 的 PHP 安全登录表单
- react-native - react-native-reanimated@1.0.0-alpha.10 需要 react@16.0.0-alpha.6 的同级
- c++ - 为什么此代码会导致“检测到堆损坏”?
- excel - 如何使用 VBA 填充系列?
- swift - Swift 源文件的构建规则
- excel - 减小宏的大小
- typescript - 如何在 Visual Studio Code 中加载 TypeScript 错误日志文件
- html - 输入 1 个字符后输入框失去焦点
- php - netbeans 设置版本 php 7.2.12 i