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 和 Adob​​e Indesign 2022。

我也试过文件编辑但没有成功:

myFile.open("e", "????", "????");

其实只是我需要先创建子文件夹:

var parentFolder = myFile.parent;
if (!parentFolder.exists && !parentFolder.create())
    throw new Error("Cannot create file in path " + myFile.fsName);

将此添加到我的脚本后,文件夹和文件已成功创建。