스크립트 도구 대신 Python 스크립트를 명령으로 호출하는 버튼을 만드시겠습니까?


12

Arc9.3에서는 VBA 스크립트를 사용하여 명령을 만들 수 있다고 생각합니다. 사용자 정의 명령을 추가하려면 사용자 정의> 도구 모음> 사용자 정의 ...로 이동하고 UIControls를 클릭하십시오. 그러나 UIControls는 버전 10에 없습니다.

지도 책 프로젝트를 위해 두 개의 별도 스크립트를 작성하고 있습니다. 한 스크립트는 레이아웃 설정을 테이블에 저장하고 다른 스크립트는 같은 테이블의 설정으로 레이아웃을 업데이트합니다. 이 두 스크립트가 툴바의 버튼에 지정된 명령이 되길 원합니다. 스크립트 도구로 만들었지 만 클릭 할 때마다 지오 프로세싱 도구로 스크립트를 실행합니다. 진행률 창이 나타나고 Python 명령 줄 창에서 코드를 실행했을 때보 다 실행 시간이 약 10 배 더 걸립니다. 진행률 창이나 훨씬 더 긴 실행 시간을 원하지 않습니다.

스크립트가 "도구"로 간주되지 않고 대신 저장 단추와 유사한 명령이되도록하려면 어떻게해야합니까?

답변:


6

Excel VBA 매크로 내에서 다음은이라는 Python 스크립트를 호출합니다 test.py.

Sub test()

rsp = Shell(Environ$("COMSPEC") & " /c C:/test.py", vbNormalFocus)

End Sub

(Original source here ) ArcGIS VBA 모듈을 실행하는 방법을 잊어 버렸지 만 파이썬 스크립트를 호출하는 데 비슷한 줄이 작동합니다.


작동하는 또 다른 전략은 파이썬 스크립트를 실행 파일 (.exe) 또는 배치 파일 (.bat)로 컴파일 한 다음 호출하는 것입니다.


방금 gis.se에 대한 또 다른 대답 을 보았습니다 .

Private Sub python_Click()
    Shell "C:\Python25\python.exe ""C:\rowcount.py"
End Sub

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.