使按钮将Python脚本称为命令而不是脚本工具?


12

我相信在Arc9.3中,可以使用VBA脚本创建命令。要添加自定义命令,请导航至“自定义”>“工具栏”>“自定义...”,然后单击“ UIControls”。但是,UIControls在版本10中不存在。

我正在为地图册项目创建两个单独的脚本。一个脚本会将布局设置保存到表中,另一个脚本将使用同一表中的设置更新布局。我希望这两个脚本都是分配给工具栏中按钮的命令。我将它们创建为脚本工具,但是只要单击它们,它们就会将脚本作为地理处理工具运行。它打开了一个进度窗口,执行时间比在Python命令行窗口中运行代码要长10倍。我不需要进度窗口或更长的执行时间。

如何使脚本不被视为“工具”,而是类似于“保存”按钮的命令?

Answers:


6

在Excel VBA宏中,以下代码调用名为的Python脚本test.py

Sub test()

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

End Sub

这里的原始资料)我忘记了如何运行ArcGIS VBA模块,但是类似的一行也许可以调用您的python脚本。


另一种可行的策略可能是将python脚本编译为可执行文件(.exe)或批处理文件(.bat),然后对其进行调用。


我刚刚在gis.se上看到了另一个更优雅的答案

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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.