I almost gave up, but I finally found where Microsoft hid the ability to lock shapes in Visio 2013. You actually don’t want lock shapes, you want to create layers and lock the layers. But if you really want to lock the shape then enable the Developer tab, Click Protection and check all the boxes.
That turned out to be the wrong approach for me because selecting the shapes nested within locked shapes is still a pain.
I ended up going with Layers. You create a layer, assign shapes to the layer and then lock the layer. Layer management in Visio is really broken from a UX perspective (as you will see below), but it’s the lesser of two evils.
Let’s say you have the following shape and you want to lock the ‘background shape’ so you can move the ‘foreground shape’
Select the ‘background shape’, click the Home tab, select Layers, select Assign to Layer and call it Background
To lock the layer: Home tab, Layers, select Layer Properties and check the Lock checkbox. Click ok.
How do you remove a shape from the layer? Once you lock the layer then all of the shape selectors aren’t available, so there’s no way to select the shape to remove it from the layer. What you need to do is first unlock the layer, select the shape, then click Assign to Layer and uncheck Background.
How do you add another shape to the same layer? Let’s say I want to add ‘Background shape 2’ to the background layer.
You would think that you could select it, click Assign to Layer, check the Background checkbox and be done. Nope. You get this when you click Assign to Layer.
Visio is broken. It doesn’t read in your current layers when you try to Assign. So what you need to do is type the name of the layer you want to add the shape to.