Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
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

Printemps des cartes 2024

#1 Wed 02 March 2005 15:30

Arnaud Colé
Invité

[ArcView9] - Titre automatique

Bonjour, comme le titre l'indique je cherche a savoir s'il est possible de faire en sorte q'une zone de texte sur la mise en page puisse se modifier toute seul en fonction d'un nom de couche d'un groupe de couche ?

----------------------------------------------------
Arnaud Cole - Geomaticien

 

#2 Fri 04 March 2005 14:40

Frederic Prally SETEGUE
Invité

Re: [ArcView9] - Titre automatique

Bonjour,
Une solution peut etre avec cet exemple.
1 - il faut que tu definisses un nom a la zone de texte. Pour cela,
crees un bouton est colle le script suivant :
=91Private Sub PlaceTexte_Click()
'*** Ce bouton permet d'identifier un element graphic en zone de =
pise en
page selectionne par l'utilisateur
=91*** Creer un UIButton est colle le code suivant a =
l'interieur
Dim pMxDoc As IMxDocument
Dim pLayout As IPageLayout
Dim pGraphics As IGraphicsContainerSelect
Dim pElementProp As IElementProperties
Dim strName As String

Set pMxDoc =3D ThisDocument
Set pLayout =3D pMxDoc.PageLayout
Set pGraphics =3D pLayout

If pGraphics.ElementSelectionCount 1 Then
MsgBox Veuillez selectionner un seul element graphique !
Exit Sub
End If

Set pElementProp =3D pGraphics.DominantElement
strName =3D InputBox( Saisir le nom : , Titre du graphique )

pElementProp.Name =3D strName

=91End Sub

Grace a ce script tu vas pouvoir nommer la zone de texte pour =
laquelle
tu souhaites faire apparaitre un titre automatique.

2 =96 Une fois que tu as nomme ta zone de texte, tu vas pouvoir lui
assigner le nom d'une variable comme par exemple le nom du =
departement
que tu auras selectionne au sein de la couche Departement. Pour =
cela, il
faut inserer dans ton code, la partie suivante :

'***recherche parmi tous les objets texte celui que tu as nomme

Set pGraphics =3D pMxDoc.PageLayout
pGraphics.Reset
Set pElementProp =3D pGraphics.Next

Do Until pElementProp Is Nothing
Select Case pElementProp.Name
Case TitreNumeroCarte
Set pTextElement =3D pElementProp
pTextElement.Text =3D Carte n° &
cboNomCommunes.ListIndex       =91Affecte a ce niveau le texte =
ou
la reference a une variable
'          Debug.Print pTextElement.Text
Case TitreNomCommune
Set pTextElement =3D pElementProp
pTextElement.Text =3D Etat des lieux du reseau
hydraulique & vbNewLine & _
sur la commune de  &
Replace(cboNomCommunes.EditText, '' , ' )
'          Debug.Print pTextElement.Text
End Select
Set pElementProp =3D pGraphics.Next
Loop

En esperant que ca puisse d'aider !!
__________________________________
PRALLY Frederic

 

#3 Fri 04 March 2005 18:28

Frederic Prally SETEGUE
Invité

Re: [ArcView9] - Titre automatique

Je viens de m'apercevoir qu'il manque la declaration de qq =
variables
(partie 2).
Les voici :
Dim pGraphics As IGraphicsContainer
Dim pElementProp As IElementProperties2
Dim pTextElement As ITextElement

Si tu veux que je t'envoie un mxd en exemple email moi.

Bonne continuation

__________________________________
PRALLY Frederic

 

Pied de page des forums

Powered by FluxBB