Debugging 通过ExtendScript获取XMP文件没有构造函数错误

Debugging 通过ExtendScript获取XMP文件没有构造函数错误,debugging,adobe,adobe-indesign,extendscript,xmp,Debugging,Adobe,Adobe Indesign,Extendscript,Xmp,我在Mac操作系统上使用设计CC 2019。当我试图使用ExtendScript为我的.indd(InDesign文档)获取XMP数据时 我当前收到的错误如下所示: XMPFile没有构造函数 下面是我的脚本 //加载XMP库 函数loadXMPLibrary(){ if(ExternalObject.AdobeXMPScript){ 请尝试{ExternalObject.AdobeXMPScript=newexternalobject('lib:AdobeXMPScript');} catch

我在Mac操作系统上使用设计CC 2019。当我试图使用
ExtendScript
为我的
.indd
(InDesign文档)获取
XMP
数据时

我当前收到的错误如下所示:

XMPFile没有构造函数

下面是我的脚本

//加载XMP库
函数loadXMPLibrary(){
if(ExternalObject.AdobeXMPScript){
请尝试{ExternalObject.AdobeXMPScript=newexternalobject('lib:AdobeXMPScript');}
catch(e){alert('无法加载AdobeXMPScript库!');返回false;}
}
返回true;
}
var myFile=app.activeDocument.fullName;
//检查库和文件
if(loadXMPLibrary()&&myFile!=null){
xmpFile=新的xmpFile(myFile.fsName、XMPConst.FILE\u INDESIGN、XMPConst.OPEN\u用于更新);
var myXmp=xmpFile.getXMP();
}
if(myXmp){
$.writeln('成功')
}


您的代码逻辑有问题,需要进行以下更改:

  • 将(即
    )添加到
    loadXMPLibrary
    函数体中为
    if
    语句指定的条件中

    函数加载xmplibrary(){
    
    如果(!ExternalObject.AdobeXMPScript){//Hi RobC,你能给我推荐一些视频教程,让我在InDesign CC 2019中使用extendscript处理XMP数据吗?甚至付费教程也可以。我已经阅读了JavascriptToolsGuide.pdf和XMPFilePlugin.pdf。因为我需要大量修改.indd文件的元数据。我的任务是,我需要访问所有链接与.indd文件关联,然后查看每个链接元数据包含documentID和instanceID,如果任何链接缺少这些链接,那么我需要显示带有文件名的错误消息Hi Madasu,不幸的是,我不知道有关此主题的任何视频或教程。您可以找到“第10章-对XMP元数据的脚本访问”有用-它包含几个代码示例,可以找到-它更多的是一个参考,而不是一个循序渐进的教程。感谢RobC。我刚刚将var proj=app.project添加到您的脚本中,但它给了我一个错误,无法在目标引擎“main”中执行脚本!(#55)对象不支持属性或方法“project”。我已附加屏幕截图以供参考。是否有任何修复此错误的建议。我只是尝试在示例(即您在注释中提供的示例)中使用代码示例用于编写Adobe After Effects脚本,而不是Adobe inDesign。因此,您收到的错误消息是正确的,因为inDesign没有与
    应用程序
    对象关联的名为
    项目
    的属性或方法。