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
Ten sam napis wszystkimi fontami
Autor Wiadomość
Trurl 
Ekspert



Pomógł: 66 razy
Wiek: 71
Dołączył: 04 Lut 2009
Posty: 953
Skąd: Warszawa
Wysłany: 2 Marzec 2021, 22:43   Ten sam napis wszystkimi fontami

Potrzebuję makra, które ten sam jednowyrazowy napis, powiedzmy "Technologia" układałoby na stronie A4 w trzech kolumnach i jakichś 16 wierszach, zmieniając za każdym razem krój czcionki, zachowując tylko stopień pisma, powiedzmy 16 punktów, Chciałbym to zrobić wszystkimi fontami zainstalowanymi w systemie (ze 200 krojów). Chciałbym też, żeby pod każdym napisem pojawiała się nazwa użytego fontu, powiedzmy Arialem 8-punktowym.
Taki plik miałby kilkanaście stron, bo mam dużo fontów.
Choć używam Corela od jakichś 25 lat, iestety, nie potrafię pisać w nim makr, bo nie wiem, jak można się nauczyć języka programowania. To pewnie jakaś odmiana VB, ale nie ma do tego podręcznika. Proszę więc, żeby ktoś z Was napisał takie makro.

;-)
 
 
Martin Nez 
Doradca
Grafik?


Wersja CorelDRAW: 2019
Pomógł: 14 razy
Dołączył: 29 Sty 2011
Posty: 115
Skąd: Czmoń
Wysłany: 5 Marzec 2021, 19:01   

Spróbuj użyć tego kodu:
Kod:
Dim a() As String

Sub trurl()
    Dim b As String
    Dim c As Shape
    Dim d, e, f, g, h As Integer
    Dim i, j As Double
   
    ActiveDocument.Unit = cdrMillimeter
    ActiveDocument.ReferencePoint = cdrTopLeft
    b = InputBox("Podaj napis:")
    i = 10: j = ActivePage.SizeHeight - 10: h = 1
    Optimization = True: bb
    For d = 1 To UBound(a)
        If Left(a(d), 1) = "@" Then h = h + 1
    Next
    For e = 1 To UBound(a) / 16 / 3
        For f = 1 To 16
            For g = 1 To 3
                Set c = ActiveLayer.CreateArtisticText(i, j, b, , , a(h), 16)
                Set c = ActiveLayer.CreateArtisticText(i, j - 5, a(h), , , "Arial", 8)
                i = i + 60: h = h + 1
                If h = Application.FontList.Count Then Exit Sub
            Next
            i = 10: j = j - 18
        Next
        ActiveDocument.AddPages 1: i = 10: j = ActivePage.SizeHeight - 10
    Next
    Optimization = False: Refresh
End Sub

Sub bb()
    Dim b, c, d As Integer
    Dim e As String
    d = Application.FontList.Count
    ReDim a(d)
    For b = 1 To d
        a(b) = Application.FontList.Item(b)
    Next
    For b = 1 To d - 1
        For c = 0 To d - 1
            If a(c) > a(c + 1) Then
                e = a(c): a(c) = a(c + 1): a(c + 1) = e
            End If
        Next
    Next
End Sub


Pozdr,
MN
 
 
Trurl 
Ekspert



Pomógł: 66 razy
Wiek: 71
Dołączył: 04 Lut 2009
Posty: 953
Skąd: Warszawa
Wysłany: 6 Marzec 2021, 12:48   

Dziękuję, ale coś chyba jest nie tak (niewykluczone, że ja :-) ). Uruchamiam to makro z Makromenedżera, wpisuję słowo, które ma to makro obrabiać i widać, że coś liczy, ale, niestety, nie pojawia się żaden rezultat jego działalności.. Może to kwestia wersji Corela, którą mam? Mam Corela X5. A może źle je uruchamiam? Podpowiedz coś, proszę.
 
 
Martin Nez 
Doradca
Grafik?


Wersja CorelDRAW: 2019
Pomógł: 14 razy
Dołączył: 29 Sty 2011
Posty: 115
Skąd: Czmoń
Wysłany: 7 Marzec 2021, 21:47   

Witam,
zakładam, że masz otwarty pusty dokument. Czy makro kończy działanie? U siebie mam ponad 800 fontów i trzeba odczekać 1-2 minuty zanim skończy tworzyć dokument. Spróbuj użyć poniższego kodu, żeby sprawdzić ile faktycznie fontów jest u Ciebie. Dla makra regular, bold, italic itp to oddzielne fonty.
Kod:
Sub ileFontow()
     msbox(application.fontlist.count)
End Sub

Możesz też spróbować zamienić linię:
Kod:
If h = Application.FontList.Count Then Exit Sub

na
Kod:
If h = 100 Then Exit Sub

Wtedy skrypt nie wygeneruje całego dokumentu, ale po 100 fontach zakończy działanie. Jeśli wszystko będzie ok to uruchom poprzedni kod i bądź cierpliwy. ;-)
Pozdr,
MN
 
 
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.
 

ABC CorelDRAW X7 PL

ABC CorelDRAW X7 PL
Roland Zimek

Cena: 39.90 z�

dodaj do koszyka
zobacz opis

 

CorelDRAW X7 PL. �wiczenia praktyczne

CorelDRAW X7 PL. �wiczenia praktyczne
Roland Zimek

Cena: 27.00 z�

dodaj do koszyka
zobacz opis

 

Corel PaintShop Pro X4. Obr�bka zdj�� cyfrowych. �wiczenia praktyczne

Corel PaintShop Pro X4. Obr�bka zdj�� cyfrowych. �wiczenia praktyczne
Roland Zimek

Cena: 34.90 z�

dodaj do koszyka
zobacz opis

 

Uczenie g��bokie i sztuczna inteligencja. Interaktywny przewodnik ilustrowany eBook

Cena: 54.45 z�
Dodaj do koszyka

 

Roblox Lua w 24 godziny. Tworzenie gier dla początkujących

Roblox Lua w 24 godziny. Tworzenie gier dla początkujących
Roblox Corporation

Cena: 34.50 zł
zobacz opis

Strona wygenerowana w 0.07 sekundy. Zapytań do SQL: 13