1

I am new in Python scripting. I have a geodatabase with layer Test and this layer has field Name and Text element on layout named TEname. I am trying to show selected feature attribute Name value in Text element, but I could not do it. I can print the value for selected feature, but can't show it in Text element.

Here is the code I use:

import arcpy


mxd = arcpy.mapping.MapDocument("current")
TEname = arcpy.mapping.ListLayoutElements(mxd,"TEXT_ELEMENT","Name")[0]

for row in arcpy.da.SearchCursor("Test","name")
     print row

...
(u'Land plot 1',)

for row in arcpy.da.SearchCursor("Test","name"):
    TEname.text = row

...

TEname.text = row

Runtime error Traceback (most recent call last): File "", line 1, in File "c:\program files (x86)\arcgis\desktop10.5\arcpy\arcpy\arcobjects_base.py", line 89, in _set return setattr(self._arc_object, attr_name, cval(val)) RuntimeError: TextElementObject: Error in setting text

1 Answer 1

1

You have set TEname to a list of text element objects when you do this:

TEname = arcpy.mapping.ListLayoutElements(mxd,"TEXT_ELEMENT","Name")

To get a single text element object from that list use an index of 0 on that list:

TEname = arcpy.mapping.ListLayoutElements(mxd,"TEXT_ELEMENT","Name")[0]
0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.