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

Makra - zapis do pliku AI o określonej nazwie

michal.s - 24 Marzec 2015, 16:17
Temat postu: zapis do pliku AI o określonej nazwie
Witam Wszystkich.
Mam problem w zmianie makra tak aby zapisywało plik AI pod nazwą aktualnie otwartego dokumentu.
W obecnej formie cały czas nadpisuje plik "oznaczenia bez registrow_x.ai"

Kod:
Dim expopt As StructExportOptions
    Set expopt = CreateStructExportOptions
    expopt.UseColorProfile = False
    Dim expflt As ExportFilter
    Set expflt = ActiveDocument.ExportEx("N:\TYMCZASOWE\oznaczenia bez registrow_x.ai", cdrAI, cdrAllPages, expopt)
    With expflt
        .Version = 2 ' FilterAILib.aiVersion10
        .TextAsCurves = True
        .Platform = 0 ' FilterAILib.aiPC
        .ConvertSpotColors = False
        .UseColorProfile = True
        .SimulateOutlines = False
        .SimulateFills = False
        .IncludePlacedImages = True
        .IncludePreview = True
        .Finish
    End With

chezare - 25 Marzec 2015, 00:55

Jak ma na stałe wpisaną nazwę, to nadpisuje.
Nagrałeś, trzeba było zmodyfikować :-)
Pełna nazwa aktywnego dokumentu to activedocument.FullFileName
To jest to co wyświetlane jest na belce tytułu.

Set expflt = ActiveDocument.ExportEx(activedocument.fullfilename+".ai", cdrAI, cdrAllPages, expopt)

To nie będzie zbyt eleganckie bo plik będzie się nazywał np. graphic1.cdr.ai, ale to najmniejszy problem, co będzie kiedy utworzysz nowy dokument, nie zostanie on nigdzie zapisany, coś w nim narysujesz i uruchomisz procedurę, gdzie się zapisze ai?
Ja wiem, a Ty będziesz szukał. :-)

A jak tylko niektóre elementy grafiki z dokumentu będziesz chciał wyeksportować do ai, to co wtedy? A co się stanie jak dokument będzie pusty, nie ma żadnej obsługi błędów? Nic się nie stanie, zapisze się pusty ai :-)

Procedura powinna eksportować tylko zaznaczone obiekty, powinno się z nazwy dokumentu skasować rozszerzenie cdr, to co prawda tylko estetyka, ale zlepek cdr.ai jest nieładny. No i trzeba obsłużyć ewentualne błędy, bo inaczej to w razie niepowodzenia unieruchomi Ci, albo zamknie program i cała praca pójdzie…
Tak w ogóle to jaka jest różnica między kliknięciem ikony uruchamiającej makro, a wciśnięciem klawiszy ctrl+E? To jest moim zdaniem sztuka dla sztuki.
Musisz też pamiętać, że niektóre wynalazki stworzone w Corelu mogą istnieć nienaruszone tylko w formacie Corela, każdy eksport do innego formatu zrobi im krzywdę, poszatkuje, spłaszczy, itp.


Powered by phpBB modified by Przemo © 2003 phpBB Group