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, 14: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: 114 Skąd: Czmoń
|
Wysłany: 24 Październik 2023, 17: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, 19: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: 114 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
|
|
|
|
|
Martin Nez
Doradca Grafik?
Wersja CorelDRAW: 2019
Pomógł: 14 razy Dołączył: 29 Sty 2011 Posty: 114 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); |
|
|
|
|
|
|