|
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ę!
|
|