#1 Thu 11 November 2010 17:00
- anescadillac
- Participant occasionnel
- Date d'inscription: 23 Mar 2010
- Messages: 48
creation de 2 blocs de donnée VBA ArcObject
je debute en programmation. Avec ce code, j'essaie de creer 2 blocs de données afin d'y charger des Layers.
Ca bloque au premier pMap1.AddLayer pGxLayer.Layer
Code:
Global pMxdoc As IMxDocument Global pMaps As IMaps Sub programme_principal() 'instanciation du document Set pMxdoc = ThisDocument Set pMaps = pMxdoc.Maps Dim pMap1 As IMap Dim pMap2 As IMap Set pMap1 = pMaps.Create 'Premier Bloc de données Set pMap2 = pMaps.Create 'Deuxieme Bloc de données MsgBox pMaps.Count pMap1.Name = "BlocPrincipal" 'Nomination Bloc 1 pMap2.Name = "BlocConsole" 'Nomination Bloc 2 'MsgBox pMap1.Name 'MsgBox pMap2.Name Dim PathGdb As String PathGdb = "C:\Users\xxx\Desktop\Carte_Automat\xxx.gdb\" 'definir les chemins vers les données du 1er Bloc Dim PathReseau As String Dim PathNodes As String Dim PathCTer As String 'definir les chemins vers les données du 2eme Bloc Dim PathCor As String Dim PathCorIntersect As String 'instanciation des chemins vers les Layers Bloc 1 PathReseau = PathGdb & "reseau\reseau" PathNodes = PathGdb & "reseau\PontsReseau" PathCTer = PathGdb & "reseau\CT_Ter" 'instanciation des chemins vers les Layers Bloc 1 PathCor = PathGdb & "reseau\Marchal" Dim pGxLayer As IGxLayer Dim pGxFile As IGxFile Set pGxLayer = New GxLayer Set pGxFile = pGxLayer pGxFile.Path = PathReseau 'pMap1.AddLayer pGxLayer.Layer pGxFile.Path = PathNodes 'pMap1.AddLayer pGxLayer.Layer pGxFile.Path = PathCTer 'pMap1.AddLayer pGxLayer.Layer pGxFile.Path = PathCor 'pMap2.AddLayer pGxLayer.Layer
End Sub
Hors ligne
#2 Thu 11 November 2010 19:46
- anescadillac
- Participant occasionnel
- Date d'inscription: 23 Mar 2010
- Messages: 48
Re: creation de 2 blocs de donnée VBA ArcObject
Ok, apres correction de la premiere partie du code, j'arrive à créer mes deux blocs de données et à les renommer. Ce que je souhaite maintenant, c'est de charger mes Layers depuis une GDB dans les deux blocs de données
Code dorrigé :
Code:
Global pMxdoc As IMxDocument Global pMaps As IMaps Sub programme_principal() 'instanciation de l'environnement Set pMxdoc = ThisDocument Set pMaps = pMxdoc.Maps Dim pMap1 As IMap Dim pMap2 As IMap Set pMap1 = pMaps.Create 'Premier Bloc de données Set pMap2 = pMaps.Create 'Deuxieme Bloc de données pMaps.Reset 'Vider la fenetre de navogation pMap1.Name = "Bloc Principal" pMap2.Name = "Bloc Console" pMaps.Add pMap1 'ajout du Bloc 1 pMaps.Add pMap2 'ajout du Bloc 2 pMxdoc.ContentsView(0).Refresh (0) Dim PathGdb As String PathGdb = "C:\Users\xxx\Desktop\Carte_Automat\xxx.gdb\" 'definir les chemins vers les données du 1er Bloc Dim PathReseau As String Dim PathNodes As String Dim PathCTer As String 'definir les chemins vers les données du 2eme Bloc Dim PathCor As String Dim PathCorIntersect As String 'instanciation des chemins vers les Layers Bloc 1 PathReseau = PathGdb & "reseau\reseau" PathNodes = PathGdb & "reseau\PontsReseau" PathCTer = PathGdb & "reseau\CT_Ter" 'instanciation des chemins vers les Layers Bloc 1 PathCor = PathGdb & "reseau\Marchal" Dim pGxLayer As IGxLayer Dim pGxFile As IGxFile Set pGxLayer = New GxLayer Set pGxFile = pGxLayer pGxFile.Path = PathReseau 'pMap1.AddLayer pGxLayer.Layer pGxFile.Path = PathNodes 'pMap1.AddLayer pGxLayer.Layer pGxFile.Path = PathCTer 'pMap1.AddLayer pGxLayer.Layer pGxFile.Path = PathCor 'pMap2.AddLayer pGxLayer.Layer end sub
Hors ligne