Indesign 中的 Extendscript 不创建或写入文件
Extendscript in Indesign not creating or writing to file
我正在为 Indesign 编写一个脚本,该脚本从 TextStyleRange
对象中收集内容,将它们添加到 javascript 对象中,然后应该写出一个带有字符串化的 JSON 文件JSON.
我可以很好地创建 JSON,使用当前文档中所有 TextStyleRange
的内容,但是最终文件永远不会被写入。
这是我所拥有的一个简化示例:
#include "json2.js";
main();
function main(){
myObj = { "key_1": "value_1", "key_2": "value_2" };
myContents = JSON.stringify(myObj, null, 4);
myFile = new File("~/Documents/myproject/en/translation.json");
myFile.open("w");
myFile.write( myContents );
$.writeln( myContents );
myFile.close();
}
在 VSCode 调试器中,我可以正确地看到 $.writeln
正在输出 JSON,但是文件没有在磁盘上创建。有什么想法可能会出错吗?
我正在使用 Windows 10 和 Adobe Indesign 2022。
我也试过文件编辑但没有成功:
myFile.open("e", "????", "????");
其实只是我需要先创建子文件夹:
var parentFolder = myFile.parent;
if (!parentFolder.exists && !parentFolder.create())
throw new Error("Cannot create file in path " + myFile.fsName);
将此添加到我的脚本后,文件夹和文件已成功创建。
我正在为 Indesign 编写一个脚本,该脚本从 TextStyleRange
对象中收集内容,将它们添加到 javascript 对象中,然后应该写出一个带有字符串化的 JSON 文件JSON.
我可以很好地创建 JSON,使用当前文档中所有 TextStyleRange
的内容,但是最终文件永远不会被写入。
这是我所拥有的一个简化示例:
#include "json2.js";
main();
function main(){
myObj = { "key_1": "value_1", "key_2": "value_2" };
myContents = JSON.stringify(myObj, null, 4);
myFile = new File("~/Documents/myproject/en/translation.json");
myFile.open("w");
myFile.write( myContents );
$.writeln( myContents );
myFile.close();
}
在 VSCode 调试器中,我可以正确地看到 $.writeln
正在输出 JSON,但是文件没有在磁盘上创建。有什么想法可能会出错吗?
我正在使用 Windows 10 和 Adobe Indesign 2022。
我也试过文件编辑但没有成功:
myFile.open("e", "????", "????");
其实只是我需要先创建子文件夹:
var parentFolder = myFile.parent;
if (!parentFolder.exists && !parentFolder.create())
throw new Error("Cannot create file in path " + myFile.fsName);
将此添加到我的脚本后,文件夹和文件已成功创建。