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

FAQFAQ  SzukajSzukaj  UżytkownicyUżytkownicy  GrupyGrupy
RejestracjaRejestracja  ZalogujZaloguj  DownloadDownload

Poprzedni temat «» Następny temat
Makro do wyszukania i zmiany konturu linii
Autor Wiadomość
Alekssssander
Początkujący


Wersja CorelDRAW: 2018
Dołączył: 13 Wrz 2018
Posty: 5
Skąd: Rzeszów
Wysłany: 7 Październik 2019, 14:50   Makro do wyszukania i zmiany konturu linii

Cześć ! Potrzebuję pomocy z makrem do wyszukania linii i zmiany ich konturu.
Aktualnie mam zapisany plik wyszukiwania i wybierając "wyszukaj z pliku" muszę ręcznie zmieniać kontur na inny.
Próbowałem nagrać makro, ale wyskakuje komunikat że nie mogę nagrać tej opcji.

Kontur lini wyszukiwany to :
Kontury - Szerokość dokładnie 0.076 Kolor: R:192 G:192 B:192

Kontur lini po zmianie :
Szerokość dokładnie 0.2, Kolor czarny CMYK, styl kropkowany (kropka, odstęp, odstęp, odstęp)

Przypisanie takiego makra pod skrót klawiszowy bardzo by usprawniło pracę.
Dużo procesów udało mi się nagrać, ale tutaj akurat poległem :mrgreen:
 
 
michal.s 
Praktyk


Wersja CorelDRAW: x4
Pomógł: 1 raz
Dołączył: 01 Lut 2012
Posty: 65
Skąd: Poznań
Wysłany: 8 Październik 2019, 20:00   

Cześć.
Poniżej masz makro, które zamienia kontur RGB 192, 192, 192 na 100% Czarny.
Niestety nie jestem aż taki biegły w VBA żeby Tobie pomóc.
Jedyne co mi się udało to zmienić wyszukiwany kolor konturu z CMYK na RGB.
Może ktoś pomoże Tobie zmodyfikować kod, który zamieni też kontury.

Kod:
Sub CMYK_outline_change_flip()
Dim s As Shape, s_all As ShapeRange, s_target As ShapeRange, quest As String
Set s_all = ActiveDocument.ActivePage.ActiveLayer.Shapes.All
quest = "@outline.color = RGB(192, 192, 192)" 'kolor konturu szukany
Set s_target = s_all.Shapes.FindShapes(query:=quest)
For Each s In s_target
s.Outline.Color.CMYKAssign 0, 0, 0, 100  'nowy kolor konturu
Next s
End Sub
 
 
michal.s 
Praktyk


Wersja CorelDRAW: x4
Pomógł: 1 raz
Dołączył: 01 Lut 2012
Posty: 65
Skąd: Poznań
Wysłany: 9 Październik 2019, 17:03   

Tutaj masz instrukcję jak wyciągnąć skrót do makra.

https://www.printnet.pl/index.html?jak_mierzyc=1

Następnie uruchamiamy program CorelDRAW™ i wybieramy z menu Narzędzia -> Dostosowanie. Na ekranie powinno pojawić się okienko „Opcje"

Zgodnie z oznaczonymi polami na powyższym rysunku wybieramy z listy opcji Polecenia, następnie z rozwijalnego menu wybieramy Makra. Na liście dostępnych modułów odnajdujemy makro DD.dlugosc.policz. Aby dodać przycisk z naszym makrem do listy przycisków należy „przeciągnąć myszką” wybrane makro na pasek z przyciskami i tam je upuścić. (czerwona strzałka na rysunku)

Aby obliczyć długość linii cięcia należy zaznaczyć wszystkie wycinane kształty i kliknąć nowo dodany przycisk.

W przypadku jeśli nie posiadają Państwo odpowiedniej wersji corela długość można zmierzyć dowolnym programem, który posiada funkcje umożliwiające mierzenie długości krzywej. Długość należy podać w milimetrach.
W przypadku braku odpowiedniego oprogramowania, można wydrukować na dowolnej drukarce linie cięcia w znanej skali i zmierzyć ręcznie długość linii za pomocą linijki, cyrkla lub nitki, a następnie przemnożyć przez znany współczynnik skali. Tak przybliżoną wartość należy wpisać do kalkulatora, a nasz pracownik skoryguje ją po sprawdzeniu długości w programie.
 
 
Martin Nez 
Doradca
Grafik?


Wersja CorelDRAW: 2019
Pomógł: 14 razy
Dołączył: 29 Sty 2011
Posty: 113
Skąd: Czmoń
Wysłany: 29 Marzec 2020, 22:02   

Witam,
Trochę późno, ale może jeszcze komuś się przyda... Poprawiony kod michal.s.
Kod:
Sub CMYK_outline_change_flip()
    Dim s As Shape, s_all As ShapeRange, s_target As ShapeRange, quest As String
    ActiveDocument.Unit = cdrMillimeter
    ActiveDocument.BeginCommandGroup "Alekssssander"
    Set s_all = ActiveDocument.ActivePage.ActiveLayer.Shapes.All
    quest = "@outline.color = RGB(192, 192, 192) and @outline.width = {0.076 mm}"
    Set s_target = s_all.Shapes.FindShapes(query:=quest)
    For Each s In s_target
        With s.Outline
            .Color.CMYKAssign 0, 0, 0, 100
            .Width = 0.2
            .Style.DashCount = 2
            .Style.DashLength(1) = 1
            .Style.GapLength(1) = 3
        End With
    Next s
    ActiveDocument.EndCommandGroup
End Sub

Pozdr,
MN
 
 
Struna 
Fachowiec


Wersja CorelDRAW: X8
Pomógł: 8 razy
Wiek: 37
Dołączył: 20 Paź 2009
Posty: 276
Skąd: Białystok
Wysłany: 17 Kwiecień 2020, 13:03   

Przepraszam, że poza tematem, ale Martin Nez, mógłbyś może podsunąć prostsze makro na po prostu zaznaczanie wszystkich obiektów z konturem o kolorze CMYK(0, 100, 0, 0), obojętnie jakiej grubości?
 
 
Cysorz 



Pomógł: 205 razy
Dołączył: 01 Sty 2011
Posty: 3129
Skąd: Kraków
Wysłany: 17 Kwiecień 2020, 13:18   

Zrób tak:
Ctrl+F (Kreator wyszukiwania) --> Rozpocznij nowe wyszukiwanie --> Typy obiektów: dowolny --> Kontury: Właściwości konturu --> Dalej --> Zaznacz tylko kolor, koniec.
W następnym okienku masz opcję zapisania takiego poszukiwania na przyszłość, zapisujesz to w katalogu "Draw/Find". Czyli następnym razem tylko Ctrl+F i wskazujesz plik "Załaduj ustawienia wyszukiwania z dysku".
Cała operacja trwa raptem kilka sekund, bez pisania kodu, sprawdzania itd.
 
 
Struna 
Fachowiec


Wersja CorelDRAW: X8
Pomógł: 8 razy
Wiek: 37
Dołączył: 20 Paź 2009
Posty: 276
Skąd: Białystok
Wysłany: 17 Kwiecień 2020, 13:27   

Tak mam w tej chwili, ale chciałbym jednym kliknięciem. Sporo wycinam po OPOSie i zawsze to jakieś udogodnienie ;)
 
 
Martin Nez 
Doradca
Grafik?


Wersja CorelDRAW: 2019
Pomógł: 14 razy
Dołączył: 29 Sty 2011
Posty: 113
Skąd: Czmoń
Wysłany: 21 Kwiecień 2020, 09:46   

@Struna
w załączniku gotowe makro, którego ja używam. Zaznaczasz wzorzec i wybierasz jakie właściwości ma brać pod uwagę. Może się przyda.

Pozdr,
MN

Zaznaczanie.zip
Pobierz Plik ściągnięto 304 raz(y) 7.43 KB

 
 
Wyświetl posty z ostatnich:   
Odpowiedz do tematu
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Możesz ściągać załączniki na tym forum
Dodaj temat do Ulubionych
Wersja do druku

Skocz do:  

Powered by phpBB modified by Przemo © 2003 phpBB Group
Nowe zasady dotyczące cookies. Wykorzystujemy pliki cookies, aby nasz serwis lepiej spełniał Państwa oczekiwania. Można zablokować zapisywanie cookies, zmieniając ustawienia przeglądarki.
         
Strona wygenerowana w 0.12 sekundy. Zapytań do SQL: 15