我在Windows XP计算机上使用Excel 2007。 在我的工作表上,我有很多'形状'(矩形)。
我已将宏指定给形状,以便在有人点击它们时执行任务。
我想做的是以下内容,但我读过的帖子说这是不可能的。
当有人右键点击一个单元格时,这很容易做到,但形状看起来不同。
我知道工作表有一个名为'Worksheet_BeforeRightClick'的事件,但是当我右键单击一个形状时,我无法使用它。
以下是我的代码的开头,但它对我的菜单没有任何影响。
非常感谢提前
With Application.CommandBars("Shapes")
With .Controls.Add
.Caption = "My New Menu Item"
.BeginGroup = True
.OnAction = "MyNewMacro"
End With
End With
答案 0 :(得分:0)
据我了解,您想添加一个宏,在运行时会创建另一个形状(?)。如果这是真的,你可以运行类似的东西:
Sub AddShape ()
Sheets("YourSheetName").Shapes.AddShape(msoShapeRectangle, 35.25, 30.75, 121.5, 51.75).Select
'Add some additional info like name and style, or even attach another macro to it:
Selection.ShapeRange.Name = "Test_Name"
Selection.ShapeRange.ShapeStyle = msoShapeStylePreset36
Selection.OnAction = "Testmacro"
End Sub
Sub TestMacro
MsgBox "Hello"
EndSub