еще раз спасибо, с подсказкой нашел:
Public Sub ZoomInCenter()
Dim pMxDocument As IMxDocument
Dim pActiveView As IActiveView
Dim pDisplayTransform As IDisplayTransformation
Dim pEnvelope As IEnvelope
Dim pCenterPoint As IPoint
Set pMxDocument = Application.Document
Set pActiveView = pMxDocument.FocusMap
Set pDisplayTransform = pActiveView.ScreenDisplay.DisplayTransformation
Set pEnvelope = pDisplayTransform.VisibleBounds
'In this case, we could have set pEnvelope to IActiveView::Extent
'Set pEnvelope = pActiveView.Extent
Set pCenterPoint = New Point
pCenterPoint.x = ((pEnvelope.XMax - pEnvelope.XMin) / 2) + pEnvelope.XMin
pCenterPoint.y = ((pEnvelope.YMax - pEnvelope.YMin) / 2) + pEnvelope.YMin
pEnvelope.width = pEnvelope.width / 2
pEnvelope.height = pEnvelope.height / 2
pEnvelope.CenterAt pCenterPoint
pDisplayTransform.VisibleBounds = pEnvelope
pActiveView.Refresh
End Sub
а можно еще так центрировать:
pActiveView.extent = pActiveView.FullExtent
pActiveView.Refresh
pDisplayTransform.ScaleRatio = <требуемый масштаб>
pActiveView.Refresh