【问题标题】:Naming specifc shapes using VBA使用 VBA 命名特定形状
【发布时间】:2017-08-31 17:08:21
【问题描述】:

我在 PowerPoint 中有一个具有多种形状的演示文稿。有没有办法只命名所有图形(从 Excel 工作簿链接)的形状。例如,一张幻灯片有 4 个图形,因此形状的名称是 MyPicture1、MyPicture2、MyPicture3 和 MyPicture4。到目前为止的代码看起来像

Sub test()
Dim lctr As Long
Dim shp As shape
Dim ii As Integer

For ii = 1 To 6
    For Each shp In ActivePresentation.Slides(ii).Shapes
        If shp.Type = msoChart Then
        lctr = lctr + 1
        shp.Name = "MyPicture" & lctr
    End If
    Next shp
Next ii

【问题讨论】:

  • 据我所知,PowerPoint 中的对象没有名称。您可以在幻灯片中获取他们的形状索引。
  • 您可以在图片工具 -> 选择窗格中命名您的形状
  • 什么 PowerPoint 版本?我找不到这个工具栏,它在哪里?
  • 到目前为止你的代码做了什么或者抛出了什么样的错误?
  • PowerPoint 2010。程序没有错误。条件 'If shp.Type = msoChart Then' 永远不会满足。

标签: vba


【解决方案1】:

如果我理解正确,您想在演示文稿中列出所有图表的名称。为此,您可以使用单个循环,例如:

Dim shp as Shape
For Each shp In ActivePresentation.Slides(i).Shapes
 If shp.Type = msoChart Then
  Debug.Print shp.Name
 End If
Next

编辑:或者您也可以使用Shape.HasChart 属性。

If shp.HasChart Then
 Debug.Print shp.Name
End If

【讨论】:

  • 我需要调暗图表。什么是暗淡?
  • 暗图作为形状
  • 我必须进行一些更改以适应我的目的,并且它不会重新命名我的图表。我已经用我的代码修改了我的问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-07-02
  • 1970-01-01
  • 1970-01-01
  • 2013-10-01
相关资源
最近更新 更多