banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

GeoDataDays 2025

#1 Fri 07 March 2008 11:35

chris
Participant actif
Lieu: florensac
Date d'inscription: 7 Sep 2005
Messages: 56

fermer les fenêtres des tables

Bonjour,
A l'ouverture d'un document ArcMap, il arrive souvent que de nombreuses tables attributaires s'ouvrent intempestivement. On a beau fermer le document en l'enregistrant sans table ouverte, lors de sa réouverture les tables réapparaissent.
Quelqu'un aurait-il un code vba pour fermer ces tables ?
Par avance merci...


Christelle VALLS
Géomaticienne

Hors ligne

 

#2 Fri 07 March 2008 14:06

nicolas valls
Participant assidu
Date d'inscription: 28 Oct 2005
Messages: 154

Re: fermer les fenêtres des tables

Voila pour fermer les tables attributaires  ouvertes :

Code:

Private Sub fermer_tables_Click()
Dim mondoc As IMxDocument
  Dim macouche As ILayer
  Dim table_attributaire_2 As ITableWindow2
  Dim table_attributaire As ITableWindow
  Dim i As Integer
  Dim matable As IStandaloneTable, mestables As IStandaloneTableCollection, macarte As IMap
  Set mondoc = ThisDocument
  Set macarte = mondoc.Maps.Item(0)
  Set mestables = macarte
  Set table_attributaire_2 = New TableWindow
    'pour les tables carto
    For i = 0 To macarte.LayerCount - 1
        Set macouche = macarte.Layer(i)
        Set table_attributaire = table_attributaire_2.FindViaLayer(macouche)
        ' si la table n'a pas encore été ouverte dans arcmap il faut la créer
        If table_attributaire Is Nothing Then
            Set table_attributaire_2.Layer = macouche
            table_attributaire_2.TableSelectionAction = esriSelectFeatures
            table_attributaire_2.ShowSelected = False
            table_attributaire_2.ShowAliasNamesInColumnHeadings = True
            Set table_attributaire_2.Application = Application
        Else
            Set table_attributaire_2 = table_attributaire
        End If
        If table_attributaire_2.IsVisible Then table_attributaire_2.Show False
    Next i
    
    'Pour les tables non carto
    For i = 0 To mestables.StandaloneTableCount - 1
        Set matable = mestables.StandaloneTable(i)
        Set table_attributaire = table_attributaire_2.FindViaStandaloneTable(matable)
        If table_attributaire Is Nothing Then
            Set table_attributaire_2.StandaloneTable = matable
            table_attributaire_2.TableSelectionAction = esriSelectFeatures
            table_attributaire_2.ShowSelected = False
            table_attributaire_2.ShowAliasNamesInColumnHeadings = True
            Set table_attributaire_2.Application = Application
        Else
            Set table_attributaire_2 = table_attributaire
        End If
        If table_attributaire_2.IsVisible Then table_attributaire_2.FindViaStandaloneTable(matable).Show False
    Next i
End Sub

chez moi ça marche donc....
Bonne journée

Dernière modification par nicolas valls (Fri 07 March 2008 15:27)


Nicolas VALLS
Géomaticen
Cabinet Pierre GRILLET

Hors ligne

 

Pied de page des forums

Copyright Association GeoRezo