遍历所有可以分配macros的对象

据我所知,在Excel中,我们可以将macros分配给几种对象: shapeForm ControlActiveX Control

我想写一个VBA代码来执行以下操作,给定一个Excel文件:

  1. 浏览所有有资格分配给macros的现有对象
  2. 对于find的每个对象,如果分配了一个macros,则打印它的名称和它的macros的名称(或者最好是正文)。

我想这是详尽的,任何人都可以帮忙吗?

对位于ActiveSheet的形状扩展@mehow的答案,下面的代码会导致形状的名称和它的macros名称(如果有关联的话)。

 Sub getShapeMacro() 'to secure for unexpected... On Error Resume Next Dim SHP As Shape For Each SHP In ActiveSheet.Shapes Debug.Print SHP.Name, SHP.OnAction Next End Sub