【问题标题】:How to reset picture back from artistic effect in Excel VBA如何在 Excel VBA 中从艺术效果中重置图片
【发布时间】:2021-06-11 01:19:32
【问题描述】:

我想弄清楚一些事情。我的 Excel 文件中有一张图片。每当我点击它时,我希望它变成灰度,所以我使用以下 vba 代码:

Sheets("Dashboard-3").Shapes("ReportsIcon").Fill.PictureEffects.Insert msoEffectPencilGrayscale

而且效果很好。但是当我再次单击时,我希望它恢复到原来的颜色和格式(这是 Excel 中的 Reset Picture 按钮)。不幸的是,录制宏没有得到。我使用msoEffectNonemsoEffectTypeNone,但不起作用。也搜索了很多,但似乎没有人试图重新设置艺术效果。有人知道我应该使用什么吗?

【问题讨论】:

    标签: excel vba formatting shapes effect


    【解决方案1】:

    您不需要设置不同的效果,您必须使用Delete 从分配给图片的 PictureEffects 列表中删除它。下面的 Sub 显示了如何切换它(如果存在,则将其删除,否则应用)

    Sub toggleEfect(sh As Shape, efecttype As Long)
        Dim fe As PictureEffect, found As Boolean
        For Each fe In sh.Fill.PictureEffects
            If fe.Type = efecttype Then
                fe.Delete
                found = True
            End If
        Next
        If Not found Then sh.Fill.PictureEffects.Insert efecttype
    End Sub
    

    你可以调用它

    toggleEfect Sheets("Dashboard-3").Shapes("ReportsIcon"), msoEffectPencilGrayscale
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-01-04
      • 1970-01-01
      • 2013-06-27
      • 1970-01-01
      • 1970-01-01
      • 2012-05-16
      • 1970-01-01
      • 2022-11-11
      相关资源
      最近更新 更多