ExtendScript技术问询:如何获取Adobe程序活动工具或切换至选择工具?
获取Adobe Illustrator当前活动工具的ExtendScript实现
首先明确:Adobe Illustrator的ExtendScript API支持获取和切换当前活动工具,但你提供的对象模型图未包含该属性——它属于顶层app对象的activeTool属性,是官方API中未在该简化模型图里展示的内容。
1. 获取当前活动工具
可以通过app.activeTool直接获取当前活动工具对象,也可以通过app.activeTool.name获取工具的名称(注意名称区分大小写,且与界面显示一致,比如选择工具名称为"Selection Tool")。
2. 完整代码示例
替换你的伪代码,实现判断当前工具并切换的逻辑:
// 获取当前活动工具 var currentTool = app.activeTool; // 方式1:通过工具名称判断 if (currentTool.name === "Selection Tool") { // 切换到直接选择工具 app.activeTool = ToolType.DIRECT_SELECTION; } else { alert("Doing Something Else..."); } // 方式2:通过枚举值判断(更可靠,避免本地化名称差异) if (currentTool === ToolType.SELECTION) { app.activeTool = ToolType.DIRECT_SELECTION; } else { alert("Doing Something Else..."); }
补充说明
ToolType是Illustrator脚本API提供的枚举类,包含所有工具的常量值(比如ToolType.SELECTION对应选择工具,ToolType.DIRECT_SELECTION对应直接选择工具),使用枚举值判断比工具名称更稳定,不受软件语言本地化影响。- 若你使用的是其他Adobe程序(如Photoshop),获取活动工具的API会有差异,需参考对应程序的官方脚本参考文档。
内容的提问来源于stack exchange,提问作者Ralf_Reddings
相关产品推荐
相关产品推荐

