Beenden
  • Globale Community
    • Sprache:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
  • 한국 커뮤니티

Release to Layers but retain layer names

Entdecker ,
Jul 14, 2011 Jul 14, 2011

I am unable to find a script that will do this. The default application functionality is really frustrating how it just slaps a generic "Layer 1", "Layer 2" layer name on the new layers. I would rather have the name of the sublayer become the name of the new layer. Has anyone seen a script anywhere that does this?

THEMEN
Skripterstellung
28.9K
Übersetzen
Melden
Community-Richtlinien
Seien Sie freundlich und respektvoll, geben Sie die ursprüngliche Quelle der Inhalte an und suchen Sie vor dem Absenden Ihres Beitrags nach Duplikaten. Weitere Informationen
community guidelines

correct answers 2 richtige Antworten

Community Expert , Apr 21, 2016 Apr 21, 2016

you need to copy and paste the code into any text editor and save it as jsx

Installing scripts in the Scripts menu

To include a script in the Scripts menu (File > Scripts), save the script in the Scripts folder, located in the

/lllustrator CC/Presets folder in your lllustrator CC installation directory. The script’s filename, minus

the file extension, appears in the Scripts menu.

Scripts that you add to the Scripts folder while Illustrator is running do not appear in the Scripts menu until

the next ti

...
Übersetzen
Community-Einsteiger , Apr 25, 2024 Apr 25, 2024

Got it working. Here's code:

var idoc = app.activeDocument;

var ilayer = idoc.activeLayer;

for (i=0; i<ilayer.layers.length; i++)

    {
        var sublayer = ilayer.layers[i];
		  
		try {
			sublayer.name = sublayer.pageItems[0].name;
		}
		catch(err) {
			try {sublayer.name = sublayer.layers[0].name;
			}
			catch(err) {
				alert(err);
			}
		}
    }

 

Übersetzen
Adobe
Community-Einsteiger ,
Feb 26, 2024 Feb 26, 2024

Hey Jass,

Thanks for the answer. 

It still doesnt work for me, I dont understand. I follow all the steps and the same error keeps coming up. Really annoying. Any further help would be super appreaciated.

Thanks

Gemma

Übersetzen
Melden
Community-Richtlinien
Seien Sie freundlich und respektvoll, geben Sie die ursprüngliche Quelle der Inhalte an und suchen Sie vor dem Absenden Ihres Beitrags nach Duplikaten. Weitere Informationen
community guidelines
Community Expert ,
Feb 27, 2024 Feb 27, 2024

Hi Gemma, what's the error you're getting?

Übersetzen
Melden
Community-Richtlinien
Seien Sie freundlich und respektvoll, geben Sie die ursprüngliche Quelle der Inhalte an und suchen Sie vor dem Absenden Ihres Beitrags nach Duplikaten. Weitere Informationen
community guidelines
Community-Einsteiger ,
Feb 27, 2024 Feb 27, 2024

Hey Carlos,

I'm getting the same error than before, see attached.

I saved the text as plain text and tried .js and .jsx

 

Any help, really appreaciated.

Thanks

Übersetzen
Melden
Community-Richtlinien
Seien Sie freundlich und respektvoll, geben Sie die ursprüngliche Quelle der Inhalte an und suchen Sie vor dem Absenden Ihres Beitrags nach Duplikaten. Weitere Informationen
community guidelines
Community-Einsteiger ,
Feb 27, 2024 Feb 27, 2024

Hey again,

 

Well I don't know what the different is between these files (see attached) but it works for "bg_beach.ai" but not for the rest.

At least I know that it works with some files! Exciting.

 

 

Übersetzen
Melden
Community-Richtlinien
Seien Sie freundlich und respektvoll, geben Sie die ursprüngliche Quelle der Inhalte an und suchen Sie vor dem Absenden Ihres Beitrags nach Duplikaten. Weitere Informationen
community guidelines
Community Expert ,
Feb 27, 2024 Feb 27, 2024

ok, then the script works. Make sure your layers are setup like the file that had no issues running the script on.

 

or follow the below steps

 

1. your layers should look like this

 

CarlosCanto_0-1709102678212.png

 

2. select Layer 1 then do Release to Layers (sequence)

 

CarlosCanto_1-1709102835486.png

 

3. keep Layer 1 selected then run the script, your layers should look like this

 

CarlosCanto_2-1709103229253.png

 

enjoy

Übersetzen
Melden
Community-Richtlinien
Seien Sie freundlich und respektvoll, geben Sie die ursprüngliche Quelle der Inhalte an und suchen Sie vor dem Absenden Ihres Beitrags nach Duplikaten. Weitere Informationen
community guidelines
Community-Einsteiger ,
Feb 27, 2024 Feb 27, 2024

Might not be relevant but I was initially getting an error as I'd copied Carlos' text into Text Edit (I'm on a Mac) before saving out as a .jsx file.

Problem was, I'd left it as Rich text. Once I'd formatted it to plain text and resaved, bingo.

Übersetzen
Melden
Community-Richtlinien
Seien Sie freundlich und respektvoll, geben Sie die ursprüngliche Quelle der Inhalte an und suchen Sie vor dem Absenden Ihres Beitrags nach Duplikaten. Weitere Informationen
community guidelines
Community-Einsteiger ,
Feb 08, 2024 Feb 08, 2024

Many, many years later, amazing, thanks Carlos!

Übersetzen
Melden
Community-Richtlinien
Seien Sie freundlich und respektvoll, geben Sie die ursprüngliche Quelle der Inhalte an und suchen Sie vor dem Absenden Ihres Beitrags nach Duplikaten. Weitere Informationen
community guidelines
Neu hier ,
Apr 25, 2024 Apr 25, 2024

It's crazy that this is still an issue, but also, thanks from me, Carlos! And thanks, Simon, for mentioning the "rich text" issue; it helped me a lot. 🙂

Übersetzen
Melden
Community-Richtlinien
Seien Sie freundlich und respektvoll, geben Sie die ursprüngliche Quelle der Inhalte an und suchen Sie vor dem Absenden Ihres Beitrags nach Duplikaten. Weitere Informationen
community guidelines
Community-Einsteiger ,
Apr 25, 2024 Apr 25, 2024

If anyone is out there still having the 1302 error, editing the code like this worked for me. It had to do with the type of layer inside my layers, if that makes sense. I just removed pageItems. Here's the edit:

var idoc = app.activeDocument;

var ilayer = idoc.activeLayer;

for (i=0; i<ilayer.layers.length; i++)

     {

          var sublayer = ilayer.layers[i];

          sublayer.name = sublayer[0].name;

     }

 

Übersetzen
Melden
Community-Richtlinien
Seien Sie freundlich und respektvoll, geben Sie die ursprüngliche Quelle der Inhalte an und suchen Sie vor dem Absenden Ihres Beitrags nach Duplikaten. Weitere Informationen
community guidelines
Community-Einsteiger ,
Apr 25, 2024 Apr 25, 2024

Well it worked for some of my layers. I edited the code further so that it tries both types and if it doesn't work it just skips them. @CarlosCanto sorry to bother you. Any ideas?

var idoc = app.activeDocument;

var ilayer = idoc.activeLayer;

for (i=0; i<ilayer.layers.length; i++)

    {
        var sublayer = ilayer.layers[i];
		  
		try {
			sublayer.name = sublayer.pageItems[0].name;
		}
		catch(err) {
			try {
				sublayer.name = sublayer[0].name;
			}
			catch(err) {
				// pass
			}
		}
    }

 

Übersetzen
Melden
Community-Richtlinien
Seien Sie freundlich und respektvoll, geben Sie die ursprüngliche Quelle der Inhalte an und suchen Sie vor dem Absenden Ihres Beitrags nach Duplikaten. Weitere Informationen
community guidelines
Community-Einsteiger ,
Apr 25, 2024 Apr 25, 2024

Got it working. Here's code:

var idoc = app.activeDocument;

var ilayer = idoc.activeLayer;

for (i=0; i<ilayer.layers.length; i++)

    {
        var sublayer = ilayer.layers[i];
		  
		try {
			sublayer.name = sublayer.pageItems[0].name;
		}
		catch(err) {
			try {sublayer.name = sublayer.layers[0].name;
			}
			catch(err) {
				alert(err);
			}
		}
    }

 

Übersetzen
Melden
Community-Richtlinien
Seien Sie freundlich und respektvoll, geben Sie die ursprüngliche Quelle der Inhalte an und suchen Sie vor dem Absenden Ihres Beitrags nach Duplikaten. Weitere Informationen
community guidelines
Community-Einsteiger ,
Jul 17, 2024 Jul 17, 2024

Hi Peter! After using this code, I am recieving a different result than expected. Please see the screenshot attached.

Übersetzen
Melden
Community-Richtlinien
Seien Sie freundlich und respektvoll, geben Sie die ursprüngliche Quelle der Inhalte an und suchen Sie vor dem Absenden Ihres Beitrags nach Duplikaten. Weitere Informationen
community guidelines
Community-Einsteiger ,
Jul 17, 2024 Jul 17, 2024

All the issues I had were to do with the types of "layers" I was trying to get the names from. For some of my "layers" they weren't actually considered layers, but groups or lines or something. That's why I put the error checking with pageItems because I discovered that Illustrator considered some of my "layers" with the names to be pageItems instead of actual layers. I would suggest learning more about that so you can customize the code to work with your project. Or perhaps you can create new literal layers and put all your stuff in them and then try it, but that kind of defeats the purpose of the code.

Übersetzen
Melden
Community-Richtlinien
Seien Sie freundlich und respektvoll, geben Sie die ursprüngliche Quelle der Inhalte an und suchen Sie vor dem Absenden Ihres Beitrags nach Duplikaten. Weitere Informationen
community guidelines
Community-Einsteiger ,
Jul 17, 2024 Jul 17, 2024

Thank you for this! 

Übersetzen
Melden
Community-Richtlinien
Seien Sie freundlich und respektvoll, geben Sie die ursprüngliche Quelle der Inhalte an und suchen Sie vor dem Absenden Ihres Beitrags nach Duplikaten. Weitere Informationen
community guidelines
Neu hier ,
Sep 11, 2024 Sep 11, 2024

Maybe I am missing something here, but when i run the .jsx file it does nothing.
Can anyone help?

Übersetzen
Melden
Community-Richtlinien
Seien Sie freundlich und respektvoll, geben Sie die ursprüngliche Quelle der Inhalte an und suchen Sie vor dem Absenden Ihres Beitrags nach Duplikaten. Weitere Informationen
community guidelines
Community Expert ,
Sep 17, 2024 Sep 17, 2024
Übersetzen
Melden
Community-Richtlinien
Seien Sie freundlich und respektvoll, geben Sie die ursprüngliche Quelle der Inhalte an und suchen Sie vor dem Absenden Ihres Beitrags nach Duplikaten. Weitere Informationen
community guidelines
Entdecker ,
Sep 10, 2025 Sep 10, 2025

Peter you're my frikin hero.

Übersetzen
Melden
Community-Richtlinien
Seien Sie freundlich und respektvoll, geben Sie die ursprüngliche Quelle der Inhalte an und suchen Sie vor dem Absenden Ihres Beitrags nach Duplikaten. Weitere Informationen
community guidelines
Neu hier ,
Oct 16, 2025 Oct 16, 2025

Hello, thank you for the code! I'm more than a year late but do you know if the language used on the software affects the results? I use Illustrator in French and nothing seems to have changed 😕 

Übersetzen
Melden
Community-Richtlinien
Seien Sie freundlich und respektvoll, geben Sie die ursprüngliche Quelle der Inhalte an und suchen Sie vor dem Absenden Ihres Beitrags nach Duplikaten. Weitere Informationen
community guidelines
Community Expert ,
Oct 16, 2025 Oct 16, 2025
AKTUELL

it should work in the French version, do you get any error messages?

Übersetzen
Melden
Community-Richtlinien
Seien Sie freundlich und respektvoll, geben Sie die ursprüngliche Quelle der Inhalte an und suchen Sie vor dem Absenden Ihres Beitrags nach Duplikaten. Weitere Informationen
community guidelines
Neu hier ,
Dec 13, 2024 Dec 13, 2024

Hello, I tried to apply this script and I can´t :C

Übersetzen
Melden
Community-Richtlinien
Seien Sie freundlich und respektvoll, geben Sie die ursprüngliche Quelle der Inhalte an und suchen Sie vor dem Absenden Ihres Beitrags nach Duplikaten. Weitere Informationen
community guidelines
Community Expert ,
Dec 13, 2024 Dec 13, 2024

If you're on a Mac and using Text Edit please make sure you have set the save format as Plain Text. The line shown indicates the file was saved as a Rich Text file.

Übersetzen
Melden
Community-Richtlinien
Seien Sie freundlich und respektvoll, geben Sie die ursprüngliche Quelle der Inhalte an und suchen Sie vor dem Absenden Ihres Beitrags nach Duplikaten. Weitere Informationen
community guidelines