为什么有时候调用脚本来运行脚本时会有任何想法启动ExtendScript Toolkit&只是摊位?我想也许有很多文字可以通过。不确定每次都是这样。请参见脚本下面的图片。
如果停止则停在该行上:var new_string = this_text_frame.contents.replace(search_string,replace_string);
// Version 3
function myReplace(search_string, replace_string) {
var active_doc = app.activeDocument;
var text_frames = active_doc.textFrames;
if (text_frames.length > 0)
{
for (var i = 0 ; i < text_frames.length; i++)
{
var this_text_frame = text_frames[i];
var new_string = this_text_frame.contents.replace(search_string, replace_string);
if (new_string != this_text_frame.contents)
{
this_text_frame.contents = new_string;
}
}
}
}
myReplace(/^PRG.*/i, "");
myReplace(/.*EBOM.*/i, "");
myReplace(/^PH.*0000.*/i, "");
myReplace(/^PH.*00\/.*/i, "");
// N or W & 6 #'s & -S_ EX. N123456-S_ REPLACE with: N123456-S??? (THIS NEEDS TO BE ABOVE _ REPLACED BY SPACE)
myReplace(/([NW]\d{6}-S)_/i, "$1??? ");
myReplace(/_/gi, " ");
// 6 #'s & - or no - & 7 #'s & 1 to 3 #'s & - EX: 123456-1234567/123- REPLACE with: -123456-
myReplace(/(\d{6})-?\d{7}\/\d\d?\d?-/i, "-$1-");
myReplace(/(\d{6})-?\d{7}-\/\d\d?\d?-/i, "-$1-");
myReplace(/([NW]\d{6}-S)-INS-\d\d\/\d\d?-/i, "$1??? ");
myReplace(/-INS-\d\d\/\d\d?-/i, "* ");
// - That is only followed by one more - & Not having PIA & - & 2 to 3 #'s & / & 1 to 3 #'s & - EX: -7NPSJ_RH-001/9- REPLACE with * & Space
myReplace(/-[^-]*-\d\d\d?\/\d\d?\d?-/i, "* ");
myReplace(/ ?ASSEMBLY/gi, " ASY");
myReplace(/ ASS?Y+$| ASS?Y - | ASS?Y -| ASS?Y | ASS?Y- | ASS?Y-/gi, " ASY - ");
myReplace(/(MCA-|DS-?C1-?)/i, "-");
myReplace(/^DS-|^DI-|^PH-|MCA|^PAF-|^PAF|^FDR-|^FDR/i, "");
myReplace(/VIEW ([a-z])/i, "TTEMPP $1");
myReplace(/ ?\(?V?I?EW\)| ?\(?VIE[W)]?|^W\)| ?\(VI+$|^ ?\(VI| ?\(V+$|^ ?\(V| ?\(+$|^ ?\)/i, "");
myReplace(/TTEMPP ([a-z])/i, "VIEW $1");
myReplace(/([NW]\d{6}-S)-/i, "$1??? ");
myReplace(/([NW]\d{6}-S)\/.-/i, "$1??? ");
// Needs to be in this order
myReplace(/ AND /i, "&");
myReplace(/WASHER/i, "WSHR");
myReplace(/BOLT/i, "BLT");
myReplace(/STUD/i, "STU");
myReplace(/([SCREW|SC|NUT|BLT|STU])&WSHR/i, "$1 & WSHR");
myReplace(/\?\?\? SCREW &/i, "??? SC &");
myReplace(/\?\?\? SC [^&]/i, "??? SCREW ");
myReplace(/(\?\?\? SC & WSHR).*/i, "$1");
myReplace(/(\?\?\? SCREW).*/i, "$1");
myReplace(/(\?\?\? NUT & WSHR).*/i, "$1");
myReplace(/\?\?\? NUT [^&].*/i, "??? NUT");
myReplace(/(\?\?\? BLT & WSHR).*/i, "$1");
myReplace(/\?\?\? BLT [^&].*/i, "??? BLT");
myReplace(/(\?\?\? STU & WSHR).*/i, "$1");
myReplace(/\?\?\? STU [^&].*/i, "??? STU");
myReplace(/--/gi, "-");
if ( app.documents.length > 0 && app.activeDocument.textFrames.length > 0 ) {
// Set the value of the word to look for
searchWord1 = "*";
//searchWord2 = "The";
// Iterate through all words in the document
// the words that match searchWord
for ( i = 0; i < app.activeDocument.textFrames.length; i++ ) {
textArt = activeDocument.textFrames[i];
for ( j = 0; j < textArt.characters.length; j++) {
word = textArt.characters[j];
if ( word.contents == searchWord1 ) {
word.verticalScale = 120;
word.horizontalScale = 140;
word.baselineShift = -3;
}
}
}
}
[IMG] http://i.imgur.com/9IRy9.jpg [/ IMG]
这个javascript是来自AppleScript的调用。
set Apps_Folder to (path to applications folder as text)
set Scripts_Path to "Adobe Illustrator CS5:Presets.localized:en_US:Scripts:"
set JS_FileName to "Text Find & Replace.jsx"
--
try
set JS_File to Apps_Folder & Scripts_Path & JS_FileName as alias
tell application "Adobe Illustrator"
do javascript JS_File show debugger on runtime error
end tell
on error
display dialog "Script file '" & JS_FileName & "' NOT found?" giving up after 2
end try
答案 0 :(得分:1)
您是否搜索过您的错误代码?
1346458189 ('MRAP')
它位于ESTK的底部。看看http://wwwimages.adobe.com/www.adobe.com/content/dam/Adobe/en/devnet/pdf/illustrator/scripting/cs6/Readme.txt
它不是“MRAP”,它的“PARM”但数字适合。
“发生了Illustrator错误:1346458189('PARM')”alert(1459349)
影响:JavaScript
问题:
当不小心编写的脚本重复发生时,可能会出现此警报 从ExtendScript Toolkit在Illustrator中运行。每个脚本运行都在相同的持久性ExtendScript中执行 Illustrator中的引擎。净效应是指状态 ExtendScript引擎在所有脚本中累积 之前跑了。
以下脚本代码问题可能会导致此问题:
- 阅读未初始化的变量。
- 全局命名空间冲突,如同来自不同的两个全局变量 脚本具有相同的名称。
在你的脚本中有一些未初始化的变量
searchWord1 = "*";
textArt = activeDocument.textFrames[i];
word = textArt.characters[j];
答案 1 :(得分:1)
它不是&#34; MRAP&#34;,它的&#34; PARM&#34;但数量适合。
实际上,在MacOS&#34; MRAP&#34;是返回的正确句子。 &#34; PARM&#34;是为了窗户。
我对此错误的体验:
我跑了2 000线&#39;的JavaScript。
我必须检查700个文件夹,每个文件夹包含1到15个不同的.ai文件。
在MACOS 10.7上,我在15个文件夹中遇到此错误2次,从不相同的文件。 (CS6)
我有5个文件夹的错误1次,从不相同的文件。 (CC 2014)
我在100个文件夹中得到了这个错误1次,从来没有相同的文件。 (CC 2014或CS6)
最后我在刚刚安装的win7上运行它并且没有错误,脚本运行了10个小时而没有中断。 (CC 2014或CS 6)
答案 2 :(得分:1)
虽然我确信@fabianmoronzirfas具有技术上正确且最可能的答案,但我最近遇到错误1346458189
的经历似乎是Illustrator相当于微软臭名昭着的“未知错误”。也就是说,对于任何Adobe没有为其编写更具信息性的错误陷阱而言,它似乎都是错综复杂的错误。
对我来说,这个无用的错误是因为尝试将画板设置得太小(低于1点)。显然,Illustrator没有做足够的边界检查。对于其他人来说,就我在网上搜索而言,它来自一些原因。可能包括Illustrator脚本处理器中的内存和其他错误,这是在某些情况下考虑其随机性的一种方法。然而,最有可能的是,我怀疑它通常是可解决的,代码更耐用。