0
下面的腳本是用Photoshop的腳本列表器記錄的。它在文檔中搜索單詞「Sun」並用「Moon」替換它。Photoshop腳本 - 從外部文件中獲取文字
我的問題:如何從外部.txt文件中獲取替換詞「Moon」?
// =======================================================
var id1 = charIDToTypeID("Opn ");
var desc1 = new ActionDescriptor();
var id2 = charIDToTypeID("null");
desc1.putPath(id2, new File("C:\\document.psd"));
executeAction(id1, desc1, DialogModes.NO);
// =======================================================
var id3 = stringIDToTypeID("replace");
var desc2 = new ActionDescriptor();
var id4 = charIDToTypeID("null");
var ref1 = new ActionReference();
var id5 = charIDToTypeID("Prpr");
var id6 = stringIDToTypeID("replace");
ref1.putProperty(id5, id6);
var id7 = charIDToTypeID("TxLr");
var id8 = charIDToTypeID("Ordn");
var id9 = charIDToTypeID("Al ");
ref1.putEnumerated(id7, id8, id9);
desc2.putReference(id4, ref1);
var id10 = charIDToTypeID("Usng");
var desc3 = new ActionDescriptor();
var id11 = stringIDToTypeID("find");
desc3.putString(id11, "Sun");
var id12 = stringIDToTypeID("replace");
desc3.putString(id12, "Moon");
var id13 = stringIDToTypeID("checkAll");
desc3.putBoolean(id13, true);
var id14 = charIDToTypeID("Fwd ");
desc3.putBoolean(id14, false);
var id15 = stringIDToTypeID("caseSensitive");
desc3.putBoolean(id15, true);
var id16 = stringIDToTypeID("wholeWord");
desc3.putBoolean(id16, false);
var id17 = stringIDToTypeID("findReplace");
desc2.putObject(id10, id17, desc3);
executeAction(id3, desc2, DialogModes.NO);
謝謝你的回覆和你的時間! Unfortunatley,我只是沒有使它工作的技能。經過很多猜測,沒有結果。對我來說很清楚,我應該在這部分工作:desc3.putString(id12,「Moon」);.並添加一些file.open(「r」);和file.read();.嘗試不同的變化,沒有運氣... – Malasorte
看到我的編輯,希望他們會清除它多一點。 –
謝謝!它效果很好!還有一個問題:如果外部文本文件包含多個段落,而不僅僅是一個單詞,該腳本將獲取所有文本,但完全忽略段落中間(段落之間的空白行)。我意識到,因爲腳本使用Photoshop內置的搜索/替換功能,它可能有限制。但是,有沒有辦法讓它導入段落分隔符? – Malasorte