Exit
  • Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
  • 한국 커뮤니티
0

convert an action to script

Explorer ,
Oct 16, 2022 Oct 16, 2022

hi every body i use an script with an action,because i don t know how to write this action properly into scritp for work

 

 

my problem is this action work on 99% file, and i don t know why 1% create an error, and oblige me to click during the script (mean pause the scritp)

 

all my mockup file have the same layer name, i don t know why every time the same file stop action

 

this active document for exmple is "corrupted"

TOPICS
Actions and scripting
3.6K
Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Adobe
Community Expert ,
Oct 16, 2022 Oct 16, 2022

Try ActionToJavascript from xbytor’s xtools: 

https://ps-scripts.sourceforge.net/xtools.html

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
Oct 19, 2022 Oct 19, 2022

hi impossible to install it, i have try in different folder every time same problem

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Oct 19, 2022 Oct 19, 2022

Try this updated link to the latest 2.3 version rather than the 1.5 linked above:

 

https://sourceforge.net/projects/ps-scripts/files/xtools/v2.3/

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
Oct 20, 2022 Oct 20, 2022

i have try it not work...

 

well i m happy after 3 week i have fnish my script on indesign, i have understand nothing but it work......

 

someone can help me for write to script my small action

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Oct 20, 2022 Oct 20, 2022

If you share a link to the ATN file, I'll convert it for you.

 

Otherwise, you may be better off using the scripting listener plug-in to record the code. Don't expect it to record the action steps, it doesn't. Just manually recreate each step of the action and copy/paste the appropriate block of code form the log file, being careful not to copy unnecessary code blocks such as auto saves.

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
Oct 20, 2022 Oct 20, 2022

atn file? i will search

 

actually i play action into my scropt, it work a 90%, but i don t know why 10% file require my action for click

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Oct 20, 2022 Oct 20, 2022

You need to select the action set, then use the Action menu to save the action to file (.atn).

 

https://prepression.blogspot.com/2017/01/photoshop-custom-action-file-backup.html

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
Oct 20, 2022 Oct 20, 2022

i have done that but i  do not see my action into preset folder

 

i see action but not all action

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Oct 20, 2022 Oct 20, 2022

There are two different preset folders, a user level and an application level folder, see the previous link to my blogpost for more info.

 

You can save the .atn file anywhere, such as your desktop.

 

Good luck!

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
Oct 20, 2022 Oct 20, 2022
Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Oct 20, 2022 Oct 20, 2022

Note: Don't save your custom Actions into the Default Actions Set, you risk losing them if the Default Action Set is reloaded/reset. Always make a Custom named Action Set and create your Actions in this set. Always save the Action Set to .atn file as newly created Action Sets/Actions are temporary.

 

Here you go:

 

atn.pngexpand image

 

 

#target photoshop

//
// update pdf.jsx
//

cTID = function(s) { return app.charIDToTypeID(s); };
sTID = function(s) { return app.stringIDToTypeID(s); };

//
// update pdf
//
//
//==================== update pdf ==============
//
function updatepdf() {
  // Deselect Layers
  function step1(enabled, withDialog) {
    if (enabled != undefined && !enabled)
      return;
    var dialogMode = (withDialog ? DialogModes.ALL : DialogModes.NO);
    var desc1 = new ActionDescriptor();
    var ref1 = new ActionReference();
    ref1.putEnumerated(cTID('Lyr '), cTID('Ordn'), cTID('Trgt'));
    desc1.putReference(cTID('null'), ref1);
    executeAction(sTID('selectNoLayers'), desc1, dialogMode);
  };

  // Select
  function step2(enabled, withDialog) {
    if (enabled != undefined && !enabled)
      return;
    var dialogMode = (withDialog ? DialogModes.ALL : DialogModes.NO);
    var desc1 = new ActionDescriptor();
    var ref1 = new ActionReference();
    ref1.putName(cTID('Lyr '), "<< Doubleclick to change etiquette");
    desc1.putReference(cTID('null'), ref1);
    desc1.putBoolean(cTID('MkVs'), false);
    var list1 = new ActionList();
    list1.putInteger(95);
    desc1.putList(cTID('LyrI'), list1);
    executeAction(cTID('slct'), desc1, dialogMode);
  };

  // Edit Contents
  function step3(enabled, withDialog) {
    if (enabled != undefined && !enabled)
      return;
    var dialogMode = (withDialog ? DialogModes.ALL : DialogModes.NO);
    var desc1 = new ActionDescriptor();
    desc1.putInteger(cTID('DocI'), 275);
    desc1.putInteger(cTID('LyrI'), 95);
    executeAction(sTID('placedLayerEditContents'), desc1, dialogMode);
  };

  // Deselect Layers
  function step4(enabled, withDialog) {
    if (enabled != undefined && !enabled)
      return;
    var dialogMode = (withDialog ? DialogModes.ALL : DialogModes.NO);
    var desc1 = new ActionDescriptor();
    var ref1 = new ActionReference();
    ref1.putEnumerated(cTID('Lyr '), cTID('Ordn'), cTID('Trgt'));
    desc1.putReference(cTID('null'), ref1);
    executeAction(sTID('selectNoLayers'), desc1, dialogMode);
  };

  // Select
  function step5(enabled, withDialog) {
    if (enabled != undefined && !enabled)
      return;
    var dialogMode = (withDialog ? DialogModes.ALL : DialogModes.NO);
    var desc1 = new ActionDescriptor();
    var ref1 = new ActionReference();
    ref1.putName(cTID('Lyr '), "étiquette finie");
    desc1.putReference(cTID('null'), ref1);
    desc1.putBoolean(cTID('MkVs'), false);
    var list1 = new ActionList();
    list1.putInteger(12);
    desc1.putList(cTID('LyrI'), list1);
    executeAction(cTID('slct'), desc1, dialogMode);
  };

  // Update All Modified Contents
  function step6(enabled, withDialog) {
    if (enabled != undefined && !enabled)
      return;
    var dialogMode = (withDialog ? DialogModes.ALL : DialogModes.NO);
    var desc1 = new ActionDescriptor();
    desc1.putInteger(cTID('DocI'), 293);
    var list1 = new ActionList();
    desc1.putList(sTID("layerIDs"), list1);
    executeAction(sTID('placedLayerUpdateAllModified'), desc1, dialogMode);
  };

  // Save
  function step7(enabled, withDialog) {
    if (enabled != undefined && !enabled)
      return;
    var dialogMode = (withDialog ? DialogModes.ALL : DialogModes.NO);
    executeAction(cTID('save'), undefined, dialogMode);
  };

  // Close
  function step8(enabled, withDialog) {
    if (enabled != undefined && !enabled)
      return;
    var dialogMode = (withDialog ? DialogModes.ALL : DialogModes.NO);
    var desc1 = new ActionDescriptor();
    desc1.putInteger(cTID('DocI'), 300);
    desc1.putBoolean(sTID("forceNotify"), true);
    executeAction(cTID('Cls '), desc1, dialogMode);
  };

  // Update All Modified Contents
  function step9(enabled, withDialog) {
    if (enabled != undefined && !enabled)
      return;
    var dialogMode = (withDialog ? DialogModes.ALL : DialogModes.NO);
    var desc1 = new ActionDescriptor();
    desc1.putInteger(cTID('DocI'), 219);
    var list1 = new ActionList();
    desc1.putList(sTID("layerIDs"), list1);
    executeAction(sTID('placedLayerUpdateAllModified'), desc1, dialogMode);
  };

  // Save
  function step10(enabled, withDialog) {
    if (enabled != undefined && !enabled)
      return;
    var dialogMode = (withDialog ? DialogModes.ALL : DialogModes.NO);
    executeAction(cTID('save'), undefined, dialogMode);
  };

  step1(true, true);      // Deselect Layers
  step2(true, true);      // Select
  step3(true, true);      // Edit Contents
  step4(true, true);      // Deselect Layers
  step5(true, true);      // Select
  step6(true, true);      // Update All Modified Contents
  step7(true, true);      // Save
  step8(true, true);      // Close
  step9(true, true);      // Update All Modified Contents
  step10(true, true);      // Save
};

//
//==================== reediter le lien ==============
//
function reediterlelien() {
  // Deselect Layers
  function step1(enabled, withDialog) {
    if (enabled != undefined && !enabled)
      return;
    var dialogMode = (withDialog ? DialogModes.ALL : DialogModes.NO);
    var desc1 = new ActionDescriptor();
    var ref1 = new ActionReference();
    ref1.putEnumerated(cTID('Lyr '), cTID('Ordn'), cTID('Trgt'));
    desc1.putReference(cTID('null'), ref1);
    executeAction(sTID('selectNoLayers'), desc1, dialogMode);
  };

  // Select
  function step2(enabled, withDialog) {
    if (enabled != undefined && !enabled)
      return;
    var dialogMode = (withDialog ? DialogModes.ALL : DialogModes.NO);
    var desc1 = new ActionDescriptor();
    var ref1 = new ActionReference();
    ref1.putName(cTID('Lyr '), "<< Doubleclick to change etiquette");
    desc1.putReference(cTID('null'), ref1);
    desc1.putBoolean(cTID('MkVs'), false);
    var list1 = new ActionList();
    list1.putInteger(55);
    desc1.putList(cTID('LyrI'), list1);
    executeAction(cTID('slct'), desc1, dialogMode);
  };

  // Edit Contents
  function step3(enabled, withDialog) {
    if (enabled != undefined && !enabled)
      return;
    var dialogMode = (withDialog ? DialogModes.ALL : DialogModes.NO);
    var desc1 = new ActionDescriptor();
    desc1.putInteger(cTID('DocI'), 1564);
    desc1.putInteger(cTID('LyrI'), 55);
    executeAction(sTID('placedLayerEditContents'), desc1, dialogMode);
  };

  // Fix Missing Linked Files
  function step4(enabled, withDialog) {
    if (enabled != undefined && !enabled)
      return;
    var dialogMode = (withDialog ? DialogModes.ALL : DialogModes.NO);
    var desc1 = new ActionDescriptor();
    var ref1 = new ActionReference();
    ref1.putEnumerated(cTID('Dcmn'), cTID('Ordn'), cTID('Trgt'));
    desc1.putReference(cTID('null'), ref1);
    executeAction(sTID('fixMissingLinkedAssets'), desc1, dialogMode);
  };

  // Save
  function step5(enabled, withDialog) {
    if (enabled != undefined && !enabled)
      return;
    var dialogMode = (withDialog ? DialogModes.ALL : DialogModes.NO);
    executeAction(cTID('save'), undefined, dialogMode);
  };

  // Close
  function step6(enabled, withDialog) {
    if (enabled != undefined && !enabled)
      return;
    var dialogMode = (withDialog ? DialogModes.ALL : DialogModes.NO);
    var desc1 = new ActionDescriptor();
    desc1.putInteger(cTID('DocI'), 282);
    desc1.putBoolean(sTID("forceNotify"), true);
    executeAction(cTID('Cls '), desc1, dialogMode);
  };

  // Save
  function step7(enabled, withDialog) {
    if (enabled != undefined && !enabled)
      return;
    var dialogMode = (withDialog ? DialogModes.ALL : DialogModes.NO);
    executeAction(cTID('save'), undefined, dialogMode);
  };

  // Close
  function step8(enabled, withDialog) {
    if (enabled != undefined && !enabled)
      return;
    var dialogMode = (withDialog ? DialogModes.ALL : DialogModes.NO);
    var desc1 = new ActionDescriptor();
    desc1.putInteger(cTID('DocI'), 273);
    desc1.putBoolean(sTID("forceNotify"), true);
    executeAction(cTID('Cls '), desc1, dialogMode);
  };

  step1();      // Deselect Layers
  step2();      // Select
  step3();      // Edit Contents
  step4();      // Fix Missing Linked Files
  step5();      // Save
  step6();      // Close
  step7();      // Save
  step8();      // Close
};

//
//==================== close ==============
//
function close() {
  // Close
  function step1(enabled, withDialog) {
    if (enabled != undefined && !enabled)
      return;
    var dialogMode = (withDialog ? DialogModes.ALL : DialogModes.NO);
    var desc1 = new ActionDescriptor();
    desc1.putInteger(cTID('DocI'), 578);
    desc1.putBoolean(sTID("forceNotify"), true);
    executeAction(cTID('Cls '), desc1, dialogMode);
  };

  step1();      // Close
};

// EOF

"update pdf.jsx"
// EOF

 

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
Oct 20, 2022 Oct 20, 2022

can you confirm, i need just to replace this line

app.doAction("update pdf", "Actions par défaut");

 

per associed script?

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
Oct 21, 2022 Oct 21, 2022

well, trouble shooting start...

into function update pdf(), cTID is not a function...

 

var topFolder = (Folder.selectDialog("Select the top level folder."))
var fileandfolderArray = scanSubFolders(topFolder,/\.(psd)$/i);

var fileList = fileandfolderArray[0];

for (var i = 0; i < fileList.length; i++) {
var myFile = fileList[i];
   
app.open(myFile);
// check whether layer of a certain name exists in photoshop;

if (app.documents.length > 0) {
var theLayer = checkForLayerName("<< Doubleclick to change etiquette");

if (theLayer == true) {//alert ("layer of the name exists");
						//app.doAction("update pdf", "Actions par défaut");
						            updatepdf();
                        while (app.documents.length > 0) { 
var docName = fileList[i].name.replace(/\.[^\.]+$/, '');
var doc = app.activeDocument;
var outputFolder = Folder(doc.path);

var newFile = new File(decodeURI(outputFolder) + "/" + docName + ".png");

app.runMenuItem(stringIDToTypeID("placedLayerUpdateAllModified"));

exportOptions = new ExportOptionsSaveForWeb();
exportOptions.format = SaveDocumentType.PNG;
exportOptions.PNG8 = false; // false = PNG-24
exportOptions.transparency = true; // true = transparent
exportOptions.interlaced = false; // true = interlacing on
exportOptions.includeProfile = true; // false = don't embedd ICC profile
doc.exportDocument(newFile, ExportType.SAVEFORWEB, exportOptions);

doc.close(SaveOptions.SAVECHANGES);

						}
  
} else{
try {
    doc.save();
    doc.close();
    }catch(err){
    alert(err.line+" => "+err.message);
    }
    }
/*
	else {
		app.doAction("close", "Actions par défaut");
		}*/
}
}
alert("Done processing files!")

function scanSubFolders(tFolder, scanMask){
    var subFolders = new Array();
    var allFiles = new Array();
    subFolders[0] = tFolder;
    for (var j = 0; j < subFolders.length; j++){    
        var procFiles = subFolders[j].getFiles();
        for (var i = 0; i< procFiles.length; i++){
            if (procFiles[i] instanceof File ){
                if(scanMask == undefined) allFiles.push(procFiles[i]);
                if (procFiles[i].fullName.search(scanMask) != -1) allFiles.push(procFiles[i]);
        }else if (procFiles[i] instanceof Folder){
            subFolders.push(procFiles[i]);
            scanSubFolders(procFiles[i], scanMask);
         }
      }
   }
   return [allFiles,subFolders];
};
////// collect layers //////
function checkForLayerName (theString) {
// get number of layers;
var ref = new ActionReference();
ref.putProperty(stringIDToTypeID('property'), stringIDToTypeID('numberOfLayers'));
ref.putEnumerated( charIDToTypeID("Dcmn"), charIDToTypeID("Ordn"), charIDToTypeID("Trgt") ); 
var applicationDesc = executeActionGet(ref);
var theNumber = applicationDesc.getInteger(stringIDToTypeID("numberOfLayers"));
// process the layers;
var theLayers = new Array;
for (var m = 0; m <= theNumber; m++) {
try {
var ref = new ActionReference();
ref.putIndex( charIDToTypeID( "Lyr " ), m);
var layerDesc = executeActionGet(ref);
var layerSet = typeIDToStringID(layerDesc.getEnumerationValue(stringIDToTypeID("layerSection")));
var isBackground = layerDesc.getBoolean(stringIDToTypeID("background"));
// if group collect values;
if (layerSet != "layerSectionEnd" /*&& layerSet != "layerSectionStart" && isBackground != true*/) {
var theName = layerDesc.getString(stringIDToTypeID('name'));
if (theName == theString) {return true};
var theID = layerDesc.getInteger(stringIDToTypeID('layerID'));
var theIndex = layerDesc.getInteger(stringIDToTypeID('itemIndex'));
theLayers.push([theName, theIndex, theID])
};
}
catch (e) {};
};
return false
};

//==================== update pdf ==============
//
function updatepdf() {
    // Deselect Layers
    function step1(enabled, withDialog) {
      if (enabled != undefined && !enabled)
        return;
      var dialogMode = (withDialog ? DialogModes.ALL : DialogModes.NO);
      var desc1 = new ActionDescriptor();
      var ref1 = new ActionReference();
      ref1.putEnumerated(cTID('Lyr '), cTID('Ordn'), cTID('Trgt'));
      desc1.putReference(cTID('null'), ref1);
      executeAction(sTID('selectNoLayers'), desc1, dialogMode);
    };
  
    // Select
    function step2(enabled, withDialog) {
      if (enabled != undefined && !enabled)
        return;
      var dialogMode = (withDialog ? DialogModes.ALL : DialogModes.NO);
      var desc1 = new ActionDescriptor();
      var ref1 = new ActionReference();
      ref1.putName(cTID('Lyr '), "<< Doubleclick to change etiquette");
      desc1.putReference(cTID('null'), ref1);
      desc1.putBoolean(cTID('MkVs'), false);
      var list1 = new ActionList();
      list1.putInteger(95);
      desc1.putList(cTID('LyrI'), list1);
      executeAction(cTID('slct'), desc1, dialogMode);
    };
  
    // Edit Contents
    function step3(enabled, withDialog) {
      if (enabled != undefined && !enabled)
        return;
      var dialogMode = (withDialog ? DialogModes.ALL : DialogModes.NO);
      var desc1 = new ActionDescriptor();
      desc1.putInteger(cTID('DocI'), 275);
      desc1.putInteger(cTID('LyrI'), 95);
      executeAction(sTID('placedLayerEditContents'), desc1, dialogMode);
    };
  
    // Deselect Layers
    function step4(enabled, withDialog) {
      if (enabled != undefined && !enabled)
        return;
      var dialogMode = (withDialog ? DialogModes.ALL : DialogModes.NO);
      var desc1 = new ActionDescriptor();
      var ref1 = new ActionReference();
      ref1.putEnumerated(cTID('Lyr '), cTID('Ordn'), cTID('Trgt'));
      desc1.putReference(cTID('null'), ref1);
      executeAction(sTID('selectNoLayers'), desc1, dialogMode);
    };
  
    // Select
    function step5(enabled, withDialog) {
      if (enabled != undefined && !enabled)
        return;
      var dialogMode = (withDialog ? DialogModes.ALL : DialogModes.NO);
      var desc1 = new ActionDescriptor();
      var ref1 = new ActionReference();
      ref1.putName(cTID('Lyr '), "étiquette finie");
      desc1.putReference(cTID('null'), ref1);
      desc1.putBoolean(cTID('MkVs'), false);
      var list1 = new ActionList();
      list1.putInteger(12);
      desc1.putList(cTID('LyrI'), list1);
      executeAction(cTID('slct'), desc1, dialogMode);
    };
  
    // Update All Modified Contents
    function step6(enabled, withDialog) {
      if (enabled != undefined && !enabled)
        return;
      var dialogMode = (withDialog ? DialogModes.ALL : DialogModes.NO);
      var desc1 = new ActionDescriptor();
      desc1.putInteger(cTID('DocI'), 293);
      var list1 = new ActionList();
      desc1.putList(sTID("layerIDs"), list1);
      executeAction(sTID('placedLayerUpdateAllModified'), desc1, dialogMode);
    };
  
    // Save
    function step7(enabled, withDialog) {
      if (enabled != undefined && !enabled)
        return;
      var dialogMode = (withDialog ? DialogModes.ALL : DialogModes.NO);
      executeAction(cTID('save'), undefined, dialogMode);
    };
  
    // Close
    function step8(enabled, withDialog) {
      if (enabled != undefined && !enabled)
        return;
      var dialogMode = (withDialog ? DialogModes.ALL : DialogModes.NO);
      var desc1 = new ActionDescriptor();
      desc1.putInteger(cTID('DocI'), 300);
      desc1.putBoolean(sTID("forceNotify"), true);
      executeAction(cTID('Cls '), desc1, dialogMode);
    };
  
    // Update All Modified Contents
    function step9(enabled, withDialog) {
      if (enabled != undefined && !enabled)
        return;
      var dialogMode = (withDialog ? DialogModes.ALL : DialogModes.NO);
      var desc1 = new ActionDescriptor();
      desc1.putInteger(cTID('DocI'), 219);
      var list1 = new ActionList();
      desc1.putList(sTID("layerIDs"), list1);
      executeAction(sTID('placedLayerUpdateAllModified'), desc1, dialogMode);
    };
  
    // Save
    function step10(enabled, withDialog) {
      if (enabled != undefined && !enabled)
        return;
      var dialogMode = (withDialog ? DialogModes.ALL : DialogModes.NO);
      executeAction(cTID('save'), undefined, dialogMode);
    };
  
    step1(true, true);      // Deselect Layers
    step2(true, true);      // Select
    step3(true, true);      // Edit Contents
    step4(true, true);      // Deselect Layers
    step5(true, true);      // Select
    step6(true, true);      // Update All Modified Contents
    step7(true, true);      // Save
    step8(true, true);      // Close
    step9(true, true);      // Update All Modified Contents
    step10(true, true);      // Save
  };
  
  //
Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Oct 21, 2022 Oct 21, 2022

Yes, like I previously wrote:

 

"Otherwise, you may be better off using the scripting listener plug-in to record the code."

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
Oct 21, 2022 Oct 21, 2022

in fact either the action works very well, but I sometimes have the impression that when doing the action modify the content, which must therefore open a new window, and the action does not wait for the window is open to search for the next step

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
Oct 24, 2022 Oct 24, 2022

for explain you better my problem i show you a video (look at 2mn30, and at the end

 

 

each start file have the layer "double click to...", i feel my action miss a step , and i search how to correct it

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Oct 21, 2022 Oct 21, 2022

Hi, sometimes, it is best to select layers using the select next layer on top or below shortcuts Option-Shift-[ (Mac) or Alt+Shift+[ (PC) or Option-Shift-] (Mac) or Alt+Shift+] (but they might not be available on an AZERTY keyboard" rather than by name, unless you are 100% sure that the layers will be named the same way.) 

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
Oct 21, 2022 Oct 21, 2022

 

yes all file have this layer name, i have test the script + action, it work to 95% , but 5% file open a windows (don t find execute, and don t find save), after 2 click, it continue at the next file

 

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
Oct 25, 2022 Oct 25, 2022
LATEST

hi every body, someone have see my video? for try to explain my why photoshop open a windows?

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines