per chi fosse interessato dallo spunto di bolo ho creato la procedura degli express "explose attribubut to text" in vba... praticamente fa la stessa cosa, ma non serve avere gli express caricati per farla funzionare.
permette però di visualizzare o meno gli attributi invisili una volta convertiti in testo.
public sous explosion_att_text()
dim sset2 comme acadselectionset
dim blocco comme référence acadblock
dim sset3 comme acadselectionset
dim contribution à l'acadentité
dim vlabel(0 à 100) comme variante
dim vtext(0 à 100) comme variante
dim kwordlist comme chaîne
kwordlist = "s n"
Cedrawing.utility.initialisateurutiliseurinput 1, kwordlist
Cedrawing.utility.prompt vblf & vblf
dim returnstring comme chaîne
returnstring = thisdrawing.utility.getkeyword("visualizzare attributi nascosti? (s)

: ")
suite de l'erreur
si ce n'est pas null(thesdrawing.selectionsets.item("blocco")) alors
set2 = thisdrawiang.selectionsets.item("blocco")
sset2.delete
Si
définir sset2 = cedrawing.selectionsets.add("blocco")
dim filtertype(0) comme entier
dim filterdata(0) comme variante
type de filtre(0) = 0
filterdata(0) = "insérer"
' type de filtre (1) = 2
' filterdata(1) = "numvan"
sset2.sélectionner acselectionsetall, , , type de filtre, données filtres
pour chaque blocco en sset2
Si blocco. un employé
dim array1 comme variante
array1 = blocco.getattributes
pour i = lbound(array1) à ubound(array1)
vlabel(i) = array1(i).tagstring
vtext(i) = array1(i).textstring
(vtext(i))
Suivant
blocco.explode
- ouui. supprimer
suite de l'erreur
si ce n'est pas null(thedrawing.selectionsets.item("attributo"))
set3 = thisdrawiang.selectionsets.item("tributo")
sset3.delete
Si
set3 = cedrawing.selectionsets.add("attribut")
dim filtertype1(0) comme entier
dim filterdata1(0) comme variante
type de filtre1(0) = 0
filterdata1(0) = "attdef"
sset3.sélectionner acselectionsetall, , , filtretype1, filtredata1
si retourstring = "" puis retourstring = "s"
pour chaque contribution en sset3
si ucase(returnstring) = "n" alors
if attributo.invisible = vrais alors attributo. Supprimeur
Si
pour i = lbound(array1) à ubound(array1)
si attributo.tagstring = vlabel(i) alors
atributo.tagstring = vtext(i)
Si
Suivant
contribution prochaine
Si
sset3.delete
suivant blocco
sset2.delete
peau sous