еще раз спасибо, с подсказкой нашел:
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