applescript - 如何在 InDesign 中使用 applescript 通过脚本标签选择文本框?
问题描述
我正在尝试使用 AppleScript 通过使用预先存在的唯一标签来选择 InDesign 文档中预先存在的文本框架,然后修改这些文本框架的填充颜色和大小。(这是一个更大的工作流程的一部分,它根据列表中的值为大约 100 个这样的框架调整这些属性。文本框架的标签也在列表中,标签和值的位置在他们各自的列表,着眼于将其放入循环中。)
在下面的示例代码中,“Fred”是我的文本框架的标签,“Secondary 1”是我试图设置为文本框架的填充颜色的颜色样本的名称,我正在尝试指定在不改变任何其他几何边界的情况下,文本框的宽度为 107 毫米。
set labelList to {"Fred","Alice","Bob"}
set valueList to {107,42,42}
tell application "Adobe InDesign 2020"
set myDocument to active document -- presumes you've already done a data merge.
tell myDocument
set testFrame to every text frame whose label is item 1 of labelList
copy geometric bounds of testFrame to {x0, y0, x1, y1}
set geometric bounds of testFrame to {x0, y0, (x0 + item 1 of valueList), y1}
set fill color of testFrame to {"Secondary 1"}
end tell
end tell
这失败并出现以下错误:
“无法获得{应用程序“Adobe InDesign 2020”的文档 ID 2 的扩展 ID 5872 的文本框架 ID 6546} 的几何边界。” 编号 -1728 来自 {«class txtf» 的 «class gbnd» id 6546 of «class sprd» id 5872 of document id 2}
错误给了我一个文本框 id 编号的事实使我认为我成功地选择了带有标签“Fred”的文本框,但我没有在以下几行中充分指定某些内容。因此,脚本无法正确读取或设置该文本框架的属性。
我遇到了很多脚本示例来创建文本框架并设置它们的属性,并且网站上有一个类似的问题用于设置文本框架内的文本属性 - 但在这种情况下的答案是文本的属性由不同的对象持有,因此没有太大帮助。
任何建议将不胜感激!
解决方案
可能是因为还是这个错字?
set valueList to (107,42,42}
可能应该有{
代替(
(反之亦然,我不知道AppleScript)
推荐阅读
- android - Android:使用 getPickImageChooserIntent 时相机不是一个选项
- azure-devops - 用于测试用例参数值的 Azure DevOps REST API
- azure-logic-apps - 逻辑应用将继续检查 HTTP 202 Accepted 响应多长时间?
- javascript - 如何访问对象内的数组值?
- cucumber - 无法加载插件类:com.aventstack.extentreports.cucumber.adapter.ExtentCucumberAdapter Cucumber 5.4.2
- excel - 矩阵的匹配和条件格式
- regex - 如果找不到分隔符,则捕获所有内容
- c# - 如何在 Gridview 中将图像与 URL 绑定 - ASP.Net
- firebase - 两种不同类型的用户
- ios - iOS 上工具栏项中的图像是白色的(Xamarin 表单)