zoomen auf feature in ArcMap aus Access

Ich versuche aus Access auf ein ausgewähltes Objekt in einer *.mxd Datei (ArcGIS 9) zu zoomen.
Dabei bin ich inzwischen dank der Hilfe im Forum und eigener "Studien" bei folgendem Code angelangt:

Dim pDoc As esriFramework.IDocument
Dim pMxApp As esriArcMapUI.IMxApplication
Dim pApp As IApplication
Dim pMxDoc As IMxDocument
Dim pEnvelope As IEnvelope

Set pDoc = New esriArcMapUI.MxDocument
Set pMxApp = pDoc.Parent
Set pApp = pMxApp
pApp.OpenDocument ("Pfad zur mxd-Datei")

Set pEnvelope = New Envelope
pEnvelope.PutCoords 1, 1, 10, 10

Set pMxDoc = pApp.Document
pMxDoc.ActiveView.Extent = pEnvelope
pMxDoc.ActiveView.Refresh
pApp.Visible = True

Setze ich im VBA-Editor in Access einen Haltepunkt auf die Zeile:
pMxDoc.ActiveView.Extent = pEnvelope
und gehe dann schrittweise weiter, funktioniert das problemlos. Lasse ich den Code ohne Haltepunkt durchlaufen "vergißt" ArcGIS das zoomen und zeigt die letzte Ansicht der Karte an.
Woran liegt's?

Gibt es noch einen einfacheren Weg in ArcGIS per VBA auf ein Feature zu zoomen, als dessen Koordinaten zu ermitteln und per "Envelope" zo zoomen?
Danke
Gerd
Hallo Gerd,

nur zu deiner Info:

Bei mir funktioniert deine Prozedur sauber:

Public Sub test()
Dim pDoc As esriFramework.IDocument
Dim pMxApp As esriArcMapUI.IMxApplication
Dim pApp As IApplication
Dim pMxDoc As IMxDocument
Dim pEnvelope As esriGeometry.IEnvelope

Set pDoc = New esriArcMapUI.MxDocument
Set pMxApp = pDoc.Parent
Set pApp = pMxApp
pApp.OpenDocument ("c:\temp\raster.mxd")

Set pEnvelope = New Envelope
pEnvelope.PutCoords 1, 1, 10, 10

Set pMxDoc = pApp.Document
pMxDoc.ActiveView.Extent = pEnvelope
pMxDoc.ActiveView.Refresh
pApp.Visible = True
MsgBox "fertig!"
End Sub

An den beiden geänderten Zeilen sollte es aber nicht liegen.

Gruß

Uwe
Hallo Uwe,
danke für die Rückmeldung.
Es ändert aber nichts daran, daß der Code bei mir nur funkioniert, wenn ich besagten Haltepunkt setze, oder, z.B. die "MsgBox" irgendwo nach
pApp.OpenDocument ("c:\temp\raster.mxd")
und vor
pMxDoc.ActiveView.Extent = pEnvelope
einsetze.

Interessant ist noch, das der Code nur bis zur Zeile
pApp.Visible = True
zu laufen scheint und danach stoppt. Das war mir an anderer Stelle schon aufgefallen. In Deinem Beispiel erscheint die Messagebox erst, nachdem ich mit den Focus von ArcMap nehme, d.h. mit der Maus in ein anderes Fenster klicke. Vorher passiert nach "Visible" erst mal nichts.
Soweit
Gerd