2014-04-03 2 views
0

ArcMap 10.2에지도 레이아웃에 부동 연결된 동적 텍스트 상자를 추가하는 추가 기능 버튼을 만듭니다. 나는 대본을 작성하는 데 어려움을 겪고 있으며 누군가가 대답을하기를 바라고 있습니다. 나는 붙어과 도움을 필요로 범위 에서 목록 인덱스 : 지역 변수 'MXD'할당 및 IndexError 전에 참조 : 나는 UnboundLocalError의 오류를 받고 있어요ArcMap 10.2의 텍스트 요소로 동적 텍스트 추가

def onClick(self): 
    mxd = arcpy.mapping.MapDocument("CURRENT") 
    for elm in arcpy.mapping.ListLayoutElements(mxd, "TEXT_ELEMENT", " ")[0]: 
     elmWidth = 4.0 
     x = 100 
     elm.text = 'User: <dyn type="user"/> Date: <dyn type="date" format="short"/> <Document Path: dyn type="document" property="path"/>' 
     elm.fontSize = x 
     while elm.elementWidth > float(elmWidth): 
      elm.fontSize = x 
      x = x-1 
    arcpy.RefreshActiveView() 
    del mxd 

:

여기 내 코드입니다.

감사합니다.

답변

0

먼저 새로운 텍스트 요소를 mxd 레이아웃에 추가 할 수 없으며 기존 텍스트 요소 만 수정하거나 복사 할 수 있습니다. 둘째, 하나의 총수 :

for elm in arcpy.mapping.ListLayoutElements(mxd, "TEXT_ELEMENT", " "): 
    ... 

또는

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

이것은 당신의 MXD에 ""라는 텍스트 요소가 가정한다.

+0

감사합니다. ArcMap의 도구를 통해지도 문서 동적 텍스트를 추가하기 만하면됩니다. – geogeekme