Hi Sam, let me know how this goes:
/*
Photoshop Scripting Help Please!
https://community.adobe.com/t5/photoshop/photoshop-scripting-help-please/td-p/11890873
Stephen Marsh - 2021
*/
if (app.documents.length > 0) {
var baseName = app.activeDocument.name.replace(/\.[^\.]+$/, '');
var docPath = app.activeDocument.path;
selectSet(false, "Slate Grey");
activeLayerVisibility("Shw "); // "Shw " | "Hd "
// var SGname = "-Edited-SG";
// Regex create initials from layer set name
var SGname = app.activeDocument.activeLayer.name.replace(/([a-z]+[a-z]+\b ?)/g, '');
var SG = "-Edited-" + SGname;
var saveFileJPG = new File(docPath + '/' + baseName + SG + '.jpg');
saveJPG(saveFileJPG);
activeLayerVisibility("Hd "); // "Shw " | "Hd "
selectSet(false, "White Wash");
activeLayerVisibility("Shw "); // "Shw " | "Hd "
// var WWname = "-Edited-WW";
// Regex create initials from layer set name
var WWname = app.activeDocument.activeLayer.name.replace(/([a-z]+[a-z]+\b ?)/g, '');
var WW = "-Edited-" + WWname;
var saveFileJPG = new File(docPath + '/' + baseName + WW + '.jpg');
saveJPG(saveFileJPG);
activeLayerVisibility("Hd "); // "Shw " | "Hd "
app.runMenuItem(stringIDToTypeID('selectNoLayers'));
var saveFilePSD = new File(docPath + '/' + baseName + '-Edited' + '.psd');
SavePSD(saveFilePSD);
app.activeDocument.close(SaveOptions.DONOTSAVECHANGES);
function selectSet(MkVs, setName) {
var c2t = function (s) {
return app.charIDToTypeID(s);
};
var descriptor = new ActionDescriptor();
var list = new ActionList();
var reference = new ActionReference();
reference.putName(c2t("Lyr "), setName);
descriptor.putReference(c2t("null"), reference);
descriptor.putBoolean(c2t("MkVs"), MkVs);
list.putInteger(30);
descriptor.putList(c2t("LyrI"), list);
executeAction(c2t("slct"), descriptor, DialogModes.NO);
}
function activeLayerVisibility(toggle) {
var c2t = function (s) {
return app.charIDToTypeID(s);
};
var descriptor = new ActionDescriptor();
var list = new ActionList();
var reference = new ActionReference();
reference.putEnumerated(c2t("Lyr "), c2t("Ordn"), c2t("Trgt"));
list.putReference(reference);
descriptor.putList(c2t("null"), list);
executeAction(c2t(toggle), descriptor, DialogModes.NO);
}
function SavePSD(saveFilePSD) {
psdSaveOptions = new PhotoshopSaveOptions();
psdSaveOptions.embedColorProfile = true;
psdSaveOptions.alphaChannels = true;
psdSaveOptions.layers = true;
psdSaveOptions.annotations = true;
psdSaveOptions.spotColors = true;
activeDocument.saveAs(saveFilePSD, psdSaveOptions, true, Extension.LOWERCASE);
}
function saveJPG(saveFileJPG) {
var jpgOptions = new JPEGSaveOptions();
jpgOptions.formatOptions = FormatOptions.STANDARDBASELINE;
jpgOptions.embedColorProfile = true;
jpgOptions.matte = MatteType.NONE;
jpgOptions.quality = 12;
app.activeDocument.saveAs(saveFileJPG, jpgOptions, true, Extension.LOWERCASE);
}
}
else {
alert('A document must be open to use this script!');
}
It is not what I originally planned, however, it should get the job done.
https://prepression.blogspot.com/2017/11/downloading-and-installing-adobe-scripts.html