Hi there,
i try to change oldText with myString in 25 mxd's ( in the layout ).
The text (i used draw tool to create it) contain 2 row:
land use
fuel
myString is the new text
i try this code but python only print list of mxd names in the folder:
import arcpy
from arcpy import env
env.workspace = r"D:\PROJECTS\ab\gis"
counter = 0
for mxdname in arcpy.ListFiles("*.mxd"):
print mxdname
oldText = 'land use'
oldText = oldText + '\n'
oldText = oldText + 'fuel'
mxd = arcpy.mapping.MapDocument(r"D:\PROJECTS\ab\gis\\" + mxdname)
myString = 'free fuel'
myString = myString + '\n'
myString = myString + 'gas'
for elm in arcpy.mapping.ListLayoutElements(mxd, "TEXT_ELEMENT"):
if elm.text == oldText :
print elm.name
elm.text = myString
mxd.save()
counter = counter + 1
del mxdis it possible with python 2.7.8?
thanks in advance.
Solved! Go to Solution.
thanks for everyone,
finally i use this code:
import arcpy from arcpy import env env.workspace = r"D:\PROJECTS\ab\gis" for mxdname in arcpy.ListFiles("*.mxd"): print mxdname mxd = arcpy.mapping.MapDocument(r"D:\PROJECTS\ab\gis\\" + mxdname) for elm in arcpy.mapping.ListLayoutElements(mxd, "TEXT_ELEMENT"): oldText = 'land use\nfuel' newText = u'free fuel\ngas' if elm.text == oldText: elm.text = newText print 'elm.text changed' mxd.save() del mxd