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, 15: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, 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 - 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 - 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);


Powered by phpBB modified by Przemo © 2003 phpBB Group