Hola,
Esto es un macro en lenguaje Visual Basic for Applications específicamente para CorelDRAW X4, supongo que en otras versiones tendría que funcionar igual o posiblemente habría que hacerle correcciones.
Código vb:
Ver originalOption Explicit
Public Sub Objects2Layers()
Dim i As Long
Dim objPage As CorelDRAW.Page
Dim objShape As CorelDRAW.Shape
Dim objLayer As CorelDRAW.Layer
i = 1001
Set objPage = Application.ActiveDocument.ActivePage
For Each objShape In objPage.Shapes
Set objLayer = objPage.CreateLayer("Ps " & i)
objShape.MoveToLayer objLayer
i = i + 1
Next
End Sub
Básicamente busca la página activa, por consiguiente tiene que estar activa la página donde están los 'Shapes', después crea una capa de nombre Ps 1001, Ps 1002, etc, y mueve cada objeto a
dicha cada capa por separado.
No lo he probado perfectamente, no se cuantos Layers soporta CorelDRAW, aunque creo que funciona correctamente según los requerimientos,
Olvidé indicar como implementarlo ... preferiblemente hacer una copia de seguridad antes de realizar cualquier procedimiento.
Abrir CorelDRAW X4 y abrir el documento que vamos a trabajar, en el menú: Tools->Macros->Macro Editor (Alt+F11); esto abre la ventana de edición de macros, en esta ventana: Insert->Module y aparece un nuevo editor de código, allí se copia y pega el código anterior.
Cerrar esa ventana de edición y volver a CorelDRAW, seleccionar la página que se quiere trabajar y usar: Tools->Macros->Run Macro; se selecciona el macro creado 'Module1.Objects2Layers' y se presiona el botón Run.
Saludos,