|
Corel FORUM Forum użytkowników programów firmy Corel. Grafika wektorowa, rastrowa i obróbka zdjęć cyfrowych |
|
Makra - Makro Automatyczne zapisywanie do starszej wersji z 24 do 21
konrad1997 - 22 Październik 2023, 14:14 Temat postu: 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 - 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 - 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 - 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 - 1 Listopad 2023, 11:19
Nadal wyskakuje błąd, dziękuję za chęć pomocy!
Linkuję screena:
https://imgur.com/a/grDkqCk
Martin Nez - 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 - 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); |
|
|