Hi Incubii,
Here's at least part of your answer, hopefully.
You can't execute VBA directly in the ShapeSheet (anymore - you used to be able to actually stuff in-line VBA code into a ShapeSheet cell)
But you can CALL VBA procedures from a ShapeSheet cell. A classic place to test this is in the Events.EventDblClick cell. First, make a test procedure, such as this:
Public Sub MyTestMessage()
Call MsgBox("Hi Dude!")
End Sub
Then, try these functions:
EventDblClick = RUNMACRO("ThisDocument.MyTestMessage")
EventDblClick = RUNADDON("ThisDocument.MyTestMessage")
After setting the formula, simply double-click your shape, and you should see the message box!
There's a third function, CALLTHIS, that actually passes the calling shape. You have to slightly change the code, and you have to put it in a module--not in ThisDocument:
Public Sub MyTestMessage(shp As Visio.Shape)
Call MsgBox("Hi Dude! From: " & shp.ID)
End Sub
Then, the ShapeSheet formula looks like this:
EventDblClick = CALLTHIS("SomeModule.MyTestMessage")
Hope this gets you a bit closer!