2017-08-10 9 views
0

私はindesign用のスクリプトを用意しています。これは、テキスト要素のテキストの一部をユーザー指定のテキストに置き換えます。そのテキストには&が含まれていることがあり、indesignスクリプトが存在するたびにスクリューアップします。私はすべての一般的なエスケープ文字"/,\,^,..."などを試しましたが、動作しません。 面白いのは、テキストのアンパサンドをindesignインターフェイスで置き換えると、エスケープする必要がないということです。誰もがこれを回避する方法を知っていますか?私はグーグルで試してみたが、関連するものは何も出てこなかった。indesignスクリプトの "&"に対する適切なエスケープ

//@target indesign 
    //open template 
    var template = app.open("/Users/pad/Desktop/PAD Master Templates/B-MASTER.indd"); 
    main(); 
    function main(){ 
     //hide all layers 
     var doc = app.activeDocument; 
     for (var i = 0; i < doc.layers.length; i++) { 
      var item = doc.layers[i]; 
      item.visible = false; 
     } 

    //show appropriate design layer 
    var padFont = doc.layers.item("Font"); 
    padFont.visible = true; 
    var padArt = doc.layers.item("Artwork"); 
    padArt.visible = true; 
    var links = doc.links; 
    var link; 
    var update = false; 
    for (var i = links.length-1; i >= 0; i--) { 
     link = links[i]; 
     if (link.name == 'some_design.eps') { 
      newLink = new File(link.filePath.replace('some_design.eps', "new_design.eps")); 
      update = true; 
     }   
     if (update == true && newLink.exists) { 
      link.relink(newLink); 
      try { 
       link.update(); 
      } 
      catch(err) {}     
     }  
    } 
     //Find and replace text. 
     app.findTextPreferences = NothingEnum.NOTHING; 
     app.changeTextPreferences = NothingEnum.NOTHING; 
     app.findChangeTextOptions.caseSensitive = true; 
     app.findChangeTextOptions.includeFootnotes = false; 
     app.findChangeTextOptions.includeHiddenLayers = false; 
     app.findChangeTextOptions.includeLockedLayersForFind = false; 
     app.findChangeTextOptions.includeLockedStoriesForFind = false; 
     app.findChangeTextOptions.includeMasterPages = false; 
     app.findChangeTextOptions.wholeWord = false; 
     app.findTextPreferences.findWhat = "line 1"; 


//this is a line where I need to escape the "&" 

     app.changeTextPreferences.changeTo = "R&T"; 
     doc.changeText(); 
     app.findTextPreferences.findWhat = "line 2"; 


//this is a line where I need to escape the "&" 


     app.changeTextPreferences.changeTo = "Q&A"; 
     doc.changeText(); 
     //Exprt as jpeg 
     doc.exportFile(ExportFormat.JPG, "/path/name.jpg"); 
     //Close the file without saving. 
     doc.close (SaveOptions.NO); 
    } 
+0

「&」? (何も思いつきません) – Bergi

答えて

0

InDesignドキュメントのフォントとページレイアウトをいじるした後、エラーはもはや発生しています。それを引き起こしていたことは言うことができませんが、何が起こっているのかを変更したものが修正されました。あなたの提案をありがとう!

関連する問題