Corel FORUM
Forum użytkowników programów firmy Corel. Grafika wektorowa, rastrowa i obróbka zdjęć cyfrowych

Makra - Operacje na warstwach

Cysorz - 4 Październik 2019, 21:12
Temat postu: Operacje na warstwach
Ja nie znam się zbyt dobrze na pisaniu makr, więc być może moje pytanie jest banalne a być może niewykonalne - nie wiem.
Czasami mam taką sytuację, że w jednym pliku muszę scalić kilka dokumentów, często z różnych wersji a nawet różnych programów. O ile to nie problem, to wynik końcowy jest "różny". Przykładowo przy importowaniu różnych plików w Menedżerze Warstw robi się niezły bajzel - np. zmieniają one swoją kolejność. Przy stosowaniu głównej warstwy jako "drukowalnej" jest to już jest problem - przykładowo teksty zamiast NAD aplą lądują POD nią i trzeba to wszystko zmieniać ręcznie na każdej stronie. Mało tego - na jednej stronie może być kilka warstw o tej samej nazwie. Przy kilkuset stronach w jednym dokumencie to już spora niedogodność...
Stąd pytanie: czy znacie takie makro, które wybraną warstwę przenosi bezwzględnie np. na samą górę lub na sam dół?
Pomocniczym byłoby także takie, które kasuje wszystkie warstwy, na których nie ma żadnych obiektów.

Cały czas chodzi mi oczywiście o takie makro, które działałoby na wszystkich stronach naraz a nie na pojedynczych jednorazowo.

michal.s - 4 Październik 2019, 23:52

Tutaj masz kod do usuwania warstw na których nie ma żadnych obiektów.

Kod:
Sub UsunWarstwyBezObiektow()

For Each pg In ActiveDocument.Pages
    For Each lyr In pg.Layers
        If Not lyr.IsSpecialLayer Then
        Set sr = lyr.Shapes.All
            If sr.Count = 0 Then
            lyr.Delete
            End If
        End If
   Next
Next

End Sub

Cysorz - 5 Październik 2019, 14:44

Ładnie działa, dziękuję!

Powered by phpBB modified by Przemo © 2003 phpBB Group