我有一个 AppleScript 程序,它在 Adobe InDesign 文档中创建 XML 标记和元素。数据在表格中,标记每个单元格需要 0.5 秒。整个脚本需要几个小时才能完成。
我可以发布内部循环代码,但我不确定 SO 应该是通用的还是特定的。我会让暴徒决定。
[编辑] 代码构建了一个列表(在此循环之前),其中包含表中每行一个项目。还有一个列表,其中包含表中每一列的一个字符串。对于每个单元格,程序通过连接两个列表的 [row]/[column] 位置中的项目来创建一个 XML 元素和一个 XML 标记。它还将该单元格中的文本与新创建的元素相关联。
我对 AppleScript 完全陌生,因此其中一些代码是从 Adobe 的示例中粗略修改的。如果代码很糟糕,我不会生气。
这是代码:
repeat with columnNumber from COL_START to COL_END
select text of cell ((columnNumber as string) & ":" & (rowNumber as string)) of ThisTable
tell activeDocument
set thisXmlTag to make XML tag with properties {name:item rowNumber of symbolList & "_" & item columnNumber of my histLabelList}
tell rootXmlElement
set thisXmlElement to make XML element with properties {markup tag:thisXmlTag}
end tell
set contents of thisXmlElement to (selection as string)
end tell
end repeat
编辑:我已经改写了这个问题以更好地反映正确的答案。