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 Automatyczne zapisywanie do starszej wersji z 24 do 21
Autor Wiadomość
konrad1997 
Początkujący


Wersja CorelDRAW: 24.4.0.636
Dołączył: 22 Paź 2023
Posty: 4
Skąd: Nowy Sącz
Wysłany: 22 Październik 2023, 15:14   Makro Automatyczne zapisywanie do starszej wersji z 24 do 21

Witam, posiadam Corela 24.4.0.636 Mac OS.
W firmie dla której pracuję wymagają plików w wersji 21 (2019).
Chciałbym przyśpieszyć pracę automatycznym zapisem do wskazanej wersji 21.
Szukając gotowych makr żadne nie działają. Jedyną działającą opcją jest nagranie makra jednak pojawia się problem, zapisuje zawsze w poprzedniej lokalizacji pliku oraz poprzedniej do nazwy pliku (tej nagrywanej).
Proszę o pomoc w edycji makra tak aby zapisywało go we wskazanej przeze mnie lokalizacji. Poniżej kod nagranego skryptu:

Kod:

  // Recorded 10/22/23
  let OrigSelection = host.ActiveSelectionRange;
  let SaveOptions = host.CreateStructSaveAsOptions();
  SaveOptions.Filter = cdrCDR;
  SaveOptions.IncludeCMXData = false;
  SaveOptions.Range = cdrAllPages;
  SaveOptions.EmbedICCProfile = false;
  SaveOptions.Version = cdrVersion21;
  SaveOptions.KeepAppearance = true;
  host.ActiveDocument.SaveAs("/Users/konrad/Desktop/Beznazwy-1.cdr", SaveOptions);
 
 
Martin Nez 
Doradca
Grafik?


Wersja CorelDRAW: 2019
Pomógł: 14 razy
Dołączył: 29 Sty 2011
Posty: 113
Skąd: Czmoń
Wysłany: 24 Październik 2023, 18:37   

Spróbuj tego, działa dokładnie tak jak funkcja "Zapisz..." w Corelu, ale zapisuje w wybranej wersji.
Kod:
Sub Zapisz21()
    On Error Resume Next
    Dim SaveOptions As StructSaveAsOptions
    Set SaveOptions = CreateStructSaveAsOptions
    With SaveOptions
        .EmbedVBAProject = False
        .Filter = cdrCDR
        .IncludeCMXData = False
        .Range = cdrAllPages
        .EmbedICCProfile = False
        .Version = cdrVersion21
    End With
    ActiveDocument.SaveAs ActiveDocument.FullFileName, SaveOptions
End Sub

Niestety nie mogę tego sprawdzić pod CD24, więc gdyby nie zadziałało to napisz i postaram się o dostęp do tej wersji softu.

Pozdr,
MN
 
 
konrad1997 
Początkujący


Wersja CorelDRAW: 24.4.0.636
Dołączył: 22 Paź 2023
Posty: 4
Skąd: Nowy Sącz
Wysłany: 25 Październik 2023, 20:50   

Dziękuję, ale niestety wyskakuje mi błąd.
Poniżej screeny: https://imgur.com/a/9n8K3ff

Może robię coś źle? Makro dodaję jak w podanym poniżej screenie. Skrypty -> Nowy -> Nowe makro -> wklejam od Ciebie skrypt i uruchamiam.
https://imgur.com/a/GObCiGR
 
 
Martin Nez 
Doradca
Grafik?


Wersja CorelDRAW: 2019
Pomógł: 14 razy
Dołączył: 29 Sty 2011
Posty: 113
Skąd: Czmoń
Wysłany: 1 Listopad 2023, 06:48   

Teraz dopiero zauważyłem info o MacOSie i to, że Twój przykład jest w JavaScript.
Nie mam możliwości, żeby to sprawdzić, ale spróbuj tak:
Kod:
// Zapisz w Corelu 21
let SaveOptions = host.CreateStructSaveAsOptions();

SaveOptions.EmbedVBAProject = false;
SaveOptions.Filter = cdrCDR;
SaveOptions.IncludeCMXData = false;
SaveOptions.Range = cdrAllPages;
SaveOptions.EmbedICCProfile = false;
SaveOptions.Version = cdrVersion21;

host.ActiveDocument.SaveAs(ActiveDocument.FullFileName, SaveOptions);

Pozdr,
MN
 
 
konrad1997 
Początkujący


Wersja CorelDRAW: 24.4.0.636
Dołączył: 22 Paź 2023
Posty: 4
Skąd: Nowy Sącz
Wysłany: 1 Listopad 2023, 11:19   

Nadal wyskakuje błąd, dziękuję za chęć pomocy!
Linkuję screena:
https://imgur.com/a/grDkqCk
 
 
Martin Nez 
Doradca
Grafik?


Wersja CorelDRAW: 2019
Pomógł: 14 razy
Dołączył: 29 Sty 2011
Posty: 113
Skąd: Czmoń
Wysłany: 2 Listopad 2023, 09:40   

Spróbuj jeszcze zamienić tę linię:
host.ActiveDocument.SaveAs(ActiveDocument.FullFileName, SaveOptions);
na:
host.ActiveDocument.SaveAs(host.ActiveDocument.FullFileName, SaveOptions);

Trochę kombinuję, ale nie mam dostępu do MacOSa, zobaczymy co wyjdzie.

Pozdr,
MN
 
 
konrad1997 
Początkujący


Wersja CorelDRAW: 24.4.0.636
Dołączył: 22 Paź 2023
Posty: 4
Skąd: Nowy Sącz
Wysłany: 2 Listopad 2023, 12:02   

Dziękuję Ci bardzo, działa!
Poniżej załączam działający skrypt, może komuś się przyda :p

Kod:
// Zapisz w Corelu 21
let SaveOptions = host.CreateStructSaveAsOptions();

SaveOptions.EmbedVBAProject = false;
SaveOptions.Filter = cdrCDR;
SaveOptions.IncludeCMXData = false;
SaveOptions.Range = cdrAllPages;
SaveOptions.EmbedICCProfile = false;
SaveOptions.Version = cdrVersion21;

host.ActiveDocument.SaveAs(host.ActiveDocument.FullFileName, SaveOptions);
 
 
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.13 sekundy. Zapytań do SQL: 14