Запуск Python Script при открытии MXD?

22

Может кто-нибудь сказать мне, как это сделать?

Я хочу, чтобы при открытии MXD запускался скрипт Python, который перетягивал бы лист Excel в GDB и обновлял карту.

Я только хочу, чтобы это произошло в этом конкретном MXD.

gg7aph
источник

Ответы:

14

Если вы собираетесь использовать ArcMap 10.1, вы можете создать надстройку Python. Надстройка предоставляет вам доступ к функции «при открытии», которая будет запускать код при открытии mxd.

Помощь здесь объясняется , как создать и имеет образец , который добавляет базовый слой к MXD при открытии.

TurboGus
источник
5

Вы можете кодировать в VBA mxd и вызывать скрипт python в оболочке кода ниже:

Private Function MxDocument_OpenDocument() As Boolean

End Function
artwork21
источник
Хороший вопрос. Возможное продолжение ответа artwork21 можно найти здесь, но я еще не пробовал - это немного обходной путь, но звучит многообещающе.
Jonatr
3

В 10.0 вы могли использовать VBA, как в ответе artwork21 , или написать очень простую надстройку ArcMap, используя ArcObjects, чтобы запустить инструмент-скрипт или оболочку для произвольных исполняемых файлов / скриптов при запуске, как в этом ответе .

Вероятно, стоило бы подождать надстроек Python 10.1, если вы не хотите писать надстройку ArcObjects специально для этого.

blah238
источник