excel - 使用 Excel VBA 删除指定图像
问题描述
继续本期提出的操作:
现在我想为这些新复制的图像设置一个自动点击删除选项。
为此,我编写了简单的宏:
Sub Signature_remove()
'
' Signature_remove Macro
'
ActiveSheet.Shapes.Range(Array("Picture 49")).Select
Selection.Delete
Sheets("BoQ Civils").Select
ActiveSheet.Shapes.Range(Array("Picture 72")).Select
Selection.Delete
End Sub
因为它适用于 2 张纸。不幸的是,这不是明智的想法,因为它返回数组中的图片 ID,随着过程的重复,这些 ID 会发生变化。反过来,我不能真正使用
Sheets("BoQ Civils").Shapes(Sheets("BoQ Civils").Shapes.Count)
因为我害怕放置在这张纸上的所有图像都会被删除。
有什么办法可以快速删除这些图片吗?
解决方案
让我分解一下:
Sheets("BoQ Civils").Shapes(Sheets("BoQ Civils").Shapes.Count)
Sheets("BoQ Civils").Shapes.Count
将返回您在 sheet 中拥有的图像数量(一般为形状)BoQ Civils
,因此Sheets("BoQ Civils").Shapes(Sheets("BoQ Civils").Shapes.Count)
将返回最后一个索引的图像,即最后添加的图像。
反过来,你是安全的 - 你不想删除工作表中的所有图片,只删除最后一张。
据我了解,这就是你所追求的。
推荐阅读
- python - 按位 XOR 和 NumPy 的意外行为
- python - 如何在装箱算法中将小矩形重新排列为大矩形
- python - 如何让熊猫显示所有最大值?
- node.js - 如何在用户的 Quick.db 库存中搜索特定项目
- arrays - 在 Ruby 中,在数组迭代期间,如何将多个数组元素作为一个特定哈希键的值发送?
- python - TypeError:最多输入 1 个参数,得到 2 个
- c++ - (C++)字符串到双精度的转换器不准确,负数完全错误。我究竟做错了什么?
- cypress - 如何在控制台中访问赛普拉斯数据
- python - 如何使用 python 绘制线性规划问题的约束
- actions-on-google - Action Builder 在设置多种语言时启用全局意图语言混淆