Ich versuche mich an einer VBA-Prozedur, die ein GIS-Projekt von einem Access-Formular aus öffnet und auf den im Access-Formular aktuellen Datensatz zoomt.
In diversen Foren habe ich Ideen gefunden. Das öffnen des GIS-Projektes funktioniert bisher nur mit einer Shell-Execute-Api von Jörg Ostendorp vom 29.3.05 im ANUVA-Forum.
Danach erscheint aber gleich der Hinweis von Uwe Lange, daß auf diesem Weg z.B. das Zoomen in bestimmte Features nicht möglich ist. Sein mitgelieferter ArcObjects(8.0)-Code (30.3.05) produziert bei mir bloß folgende Fehlermeldung: "Benutzerdefinierter Typ nicht definiert!" und markiert die Zeile
"Dim pDoc As esriCore.IDocument"
Dabei bleibt es auch, egal welche ESRI-Bibliothek ich bei Verweisen im VBA-Editor in Access mitaktiviere und wie ich versuche den Code zu modifizieren.
Dieselbe Fehlermeldung erscheint ebenfalls, wenn ich den Programmcode nach ArcMap kopiere und die Prozedur von dort aufrufe. Wo liegt der Fehler, bzw. wie geht's richtig?
Danke und Gruß
Gerd
In diversen Foren habe ich Ideen gefunden. Das öffnen des GIS-Projektes funktioniert bisher nur mit einer Shell-Execute-Api von Jörg Ostendorp vom 29.3.05 im ANUVA-Forum.
Danach erscheint aber gleich der Hinweis von Uwe Lange, daß auf diesem Weg z.B. das Zoomen in bestimmte Features nicht möglich ist. Sein mitgelieferter ArcObjects(8.0)-Code (30.3.05) produziert bei mir bloß folgende Fehlermeldung: "Benutzerdefinierter Typ nicht definiert!" und markiert die Zeile
"Dim pDoc As esriCore.IDocument"
Dabei bleibt es auch, egal welche ESRI-Bibliothek ich bei Verweisen im VBA-Editor in Access mitaktiviere und wie ich versuche den Code zu modifizieren.
Dieselbe Fehlermeldung erscheint ebenfalls, wenn ich den Programmcode nach ArcMap kopiere und die Prozedur von dort aufrufe. Wo liegt der Fehler, bzw. wie geht's richtig?
Danke und Gruß
Gerd
- Anmelden oder Registieren, um Kommentare verfassen zu können
Gespeichert von Gast am Do., 25.08.2005 - 14:37
Permalinkwelche ArcGIS-Version benutzt Du denn?
Gespeichert von Gast am Do., 25.08.2005 - 15:23
PermalinkGespeichert von Gast am Do., 25.08.2005 - 15:34
Permalinkhabe hier selbst kein 9.0, nach Hörensagen hat sich aber hinsichtlich der Biobliotheken einiges geänderdert. Möglich, daß IDocument nicht mehr zur esriCore gehört sondern zu esriCarto(?). Schau doch vielleicht einfach mal im Objectexplorer, ob dem so ist und deklariere ggf. die Zeilen um.
Viele Grüße
Jörg Ostendorp
Gespeichert von Gast am Do., 25.08.2005 - 16:08
PermalinkBeispielsweise schreibt man statt
"dim pDoc as esriCore.IDocument" hier "dim pDoc as IDocument".
Hilft Dir das irgendwie weiter? #
Gruß
Gespeichert von Gast am Do., 25.08.2005 - 16:35
Permalinkbei "esricarto" existiert "IDocument" ebenfalls nicht, d.h. die Fehlermeldung ist dieselbe.
Hier mal der vollständige Code von Uwe Lange für ArcGIS 8:
Dim pDoc As esriCore.IDocument
Dim pMxApp As esriCore.IMxApplication
Dim pApp As IApplication
Set pDoc = New esriCore.MxDocument
Set pMxApp = pDoc.Parent
Set pApp = pMxApp
pApp.OpenDocument ("c:\temp\unbenannt.mxd")
pApp.Visible = True
Wenn ich "esricore" und "esricarto" weglasse, erscheint die Fehlermeldung:
"Objekterstellung durch Active-X-Komponente nicht möglich"
Dieselbe Fehlermeldung kommt bei dem Code, wie ich ihn versucht habe:
Dim MyMap As Object
Set MyMap = CreateObject("ArcGIS.Application")
MyMap.OpenDocument ("c:\temp\unbenannt.mxd")
MyMap.Visible = True
Was nun?
Gespeichert von Gast am Do., 25.08.2005 - 16:43
Permalinkversuche es doch mal mit IMxDocument anstelle von IDocument
grüße
Gespeichert von uwelangehh am Do., 25.08.2005 - 17:07
Permalinkversuch es mal mit folgendem Code:
Public Sub DokumentStarten()
Dim pDoc As esriFramework.IDocument
Dim pMxApp As esriArcMapUI.IMxApplication
Dim pApp As IApplication
Set pDoc = New esriArcMapUI.MxDocument
Set pMxApp = pDoc.Parent
Set pApp = pMxApp
pApp.OpenDocument ("c:\temp\raster.mxd")
pApp.Visible = True
End Sub
Gruß
Uwe
Gespeichert von Gast am Do., 25.08.2005 - 17:53
Permalink