【问题标题】:I want to change all shape borders in slide我想更改幻灯片中的所有形状边框
【发布时间】:2021-08-21 00:26:12
【问题描述】:
Dim oSh As Shape

For i =1 To 5

我在这里给了 For 循环去寻找每个形状

With oSh
.Fill.Visible = False
.Line.BackColor.RGB = RGB(255, 255, 0)
Set oSh = Nothing
End With
Next i

但是好像不能正常工作

End Sub

【问题讨论】:

  • Stack Overflow 是针对特定的编程问题,而不是推测性的建议。请将您的查询发送至answers.microsoft.com 或超级用户。
  • 我认为您在帖子中弄乱了代码区域,如果您可以提供数据看起来如何的示例,这将有助于回答问题
  • 我想一次更改所有形状框的边框线颜色和圆度,一张幻灯片内的所有形状
  • 我不确定它是否会起作用,但您可以尝试在一系列单元格上更改这些属性,例如 range("A1:B5")
  • 您的代码也不正确,因为 oSh 从未分配给任何东西

标签: vba powerpoint shapes


【解决方案1】:

改变这个:

With oSh
.Fill.Visible = False
.Line.BackColor.RGB = RGB(255, 255, 0)
Set oSh = Nothing
End With

对此,假设您要使用当前选定的一张或多张幻灯片:

Sub ChangeTheShapes()
' Make sure you select one or more
' slides (in the thumbnail pane or slide sorter)
' before running this.

    Dim osh As Shape
    Dim oSl As Slide
    
    ' in case a shape doesn't have a fill
    On Error Resume Next
    
    For Each oSl In ActiveWindow.Selection.SlideRange
        For Each osh In oSl.Shapes
            With osh
              .Fill.Visible = False
              .Line.BackColor.RGB = RGB(255, 255, 0)
            End With
        Next   ' Shape
    Next 'slide
    
End Sub

你也可以删除你对变量 i 所做的任何事情,因为你没有将它用于任何事情。

【讨论】:

  • 它给出了选择错误-找不到方法或数据成员。我已经在幻灯片上选择了一些形状
  • 对不起……我的错。空气编码!请参阅上面的编辑版本。经过测试,工作正常。
  • Rindberg 你能把你测试过的工作文件发给我吗?
  • 我在一个文件中测试了代码,复制/粘贴到这里,然后删除了这个文件。但是请参阅上面的最新版本;我已经把它变成了一个独立的子程序。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多