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

Makra - plik szablonu cdt: automatyczna data, strona

jsq - 26 Marzec 2018, 10:44
Temat postu: plik szablonu cdt: automatyczna data, strona
Mam założony szablon do wykonywania instrukcji.
Zawiera on w tabelce wszystkie potrzebne dane i tak się zastanawiam się, czy jest (myślę, że tak) zrobienie jakiegoś makra, które by wstawiało w odpowiednie pole aktualną datę.
Druga sprawa to numery stron równiez umieszczone w jednym z pól. Standardowo jest wpis " Strona 1/1" - czy jest możliwość aby np. po zduplikowaniu strony automatycznie wstawiło się strona 1/2 i 2/2 itd.

grzjanik - 17 Kwiecień 2018, 13:40
Temat postu: Auto data
Witam.

Jsq abyś miał w swoim szablonie automatyczną datę musisz wykonać trzy rzeczy:

1. Utworzyć w nim tekst artystyczny i w Menedżerze obiektów nazwać go "data" (zał. plik data1).

2. Wpisać kawałek kodu w konkretne miejsce (zał. plik data2).

Po kolei:
- Menu Tools/Macro/Macro Editor...
- po lewej znajdujesz "VBAProject"
- rozwijasz i znajdujesz "ThisDocument"
- na środku wpisujesz kod:
Kod:
Private Sub Document_Open()
    Dim s As Shape, strD$, p As Page
    On Error Resume Next
    For Each p In ActiveDocument.Pages
        p.Activate
        strD = CStr(Format(VBA.Date, "dd-mm-yyyy") & " r.")
        Set s = ActiveLayer.Shapes.FindShape("data", cdrTextShape)
        s.Text.Story.Text = strD
    Next p
    ActiveWindow.Refresh
    Application.Refresh
End Sub

- po lewej u góry wciskasz ikonkę zapisu makra
- zamykasz Macro Editor

3. Zapisujesz swój szablon z polem daty.

Od teraz za każdym otworzeniem tego pliku Corel zapyta czy włączyć makra.
Kiedy się użytkownik zgodzi makro będzie szukało pola "data". Kiedy je znajdzie wstawi aktualną datę.

W razie pytań pisz.
Pozdrawiam.
GrzJanik

grzjanik - 17 Kwiecień 2018, 13:53
Temat postu: Auto numer strony
Niestety nie wiem jak to wprowadzić automatycznie po dodaniu strony, jednak wiem jak to zrobić na przycisk, który sam musisz wcisnąć po dodaniu strony.

Jeśli chcesz aby w dokumencie był aktualizowany numer strony oraz ich ilość musisz:

1. Utworzyć w nim tekst artystyczny i w Menedżerze obiektów nazwać go "strona".
2. Wpisać kawałek kodu w konkretne miejsce (zał. plik strona).

Po kolei:
- Menu Tools/Macro/Macro Editor...
- po lewej znajdujesz "GlobalMacros"
- rozwijasz i znajdujesz "RecordedMacros", dwuklik
- na środku wpisujesz kod:
Kod:
Kod:
Sub OdswiezNumerStrony()
    Dim s As Shape, p As Page
    On Error Resume Next
    For Each p In ActiveDocument.Pages
        p.Activate
        Set s = ActiveLayer.Shapes.FindShape("strona", cdrTextShape)
        s.Text.Story.Text = ActivePage.Index & "/" & ActiveDocument.Pages.count
    Next p
    ActiveWindow.Refresh
    Application.Refresh
End Sub


- po lewej u góry wciskasz ikonkę zapisu makra
- zamykasz Macro Editor

3. Zapisujesz swój szablon z polem strony.

Od teraz za każdym uruchomieniem makra będzie szukało pola "strona". Kiedy je znajdzie wstawi aktualne "strona/ilość stron". Oczywiście sugeruję zrobić do tego guzik.

W razie pytań pisz.
Pozdrawiam.
GrzJanik


Powered by phpBB modified by Przemo © 2003 phpBB Group