Thanks for the input...what I ended up doing was creating a two little forms
with progress bars: one to lock and one to unlock the shapes (see code below
to lock; to unlock set values to "0"). I set up a toolbar button to activate
the unlock form so the user has to click on it voluntarily. I lock
everything when the document is saved. I might add some code to the unlock
function in order to log who made the changes...
Private Sub UserForm_Activate()
Dim shapeIndex As Integer
Dim theShape As Shape
Dim numPages As Integer
Dim numShapes As Integer
Dim pageIndex As Integer
Dim TotalShapes As Integer
Dim TotalShapeCount As Integer
TotalShapes = 0
numPages = ActiveDocument.Pages.Count
For pageIndex = 1 To numPages
TotalShapes = TotalShapes +
ActiveDocument.Pages(pageIndex).Shapes.Count
Next
TotalShapeCount = 0
ProtectingShapes.ProgressBar1.Min = 0
ProtectingShapes.ProgressBar1.Max = TotalShapes
ProtectingShapes.ProgressBar1.Value = TotalShapeCount
For pageIndex = 1 To numPages
numShapes = ActiveDocument.Pages(pageIndex).Shapes.Count
For shapeIndex = 1 To numShapes
ProtectingShapes.ProgressBar1.Value = TotalShapeCount
TotalShapeCount = TotalShapeCount + 1
Set theShape = ActiveDocument.Pages(pageIndex).Shapes(shapeIndex)
theShape.CellsSRC(visSectionObject, visRowLock,
visLockWidth).FormulaU = "1"
theShape.CellsSRC(visSectionObject, visRowLock,
visLockHeight).FormulaU = "1"
theShape.CellsSRC(visSectionObject, visRowLock,
visLockMoveX).FormulaU = "1"
theShape.CellsSRC(visSectionObject, visRowLock,
visLockMoveY).FormulaU = "1"
theShape.CellsSRC(visSectionObject, visRowLock,
visLockAspect).FormulaU = "1"
theShape.CellsSRC(visSectionObject, visRowLock,
visLockDelete).FormulaU = "1"
theShape.CellsSRC(visSectionObject, visRowLock,
visLockBegin).FormulaU = "1"
theShape.CellsSRC(visSectionObject, visRowLock,
visLockEnd).FormulaU = "1"
theShape.CellsSRC(visSectionObject, visRowLock,
visLockRotate).FormulaU = "1"
theShape.CellsSRC(visSectionObject, visRowLock,
visLockTextEdit).FormulaU = "1"
theShape.CellsSRC(visSectionObject, visRowLock,
visLockFormat).FormulaU = "1"
theShape.CellsSRC(visSectionObject, visRowLock,
visLockSelect).FormulaU = "1"
Next shapeIndex
Next pageIndex
Unload ProtectingShapes
End Sub