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
Przesunięty przez: roland
26 Maj 2011, 07:33
Automatyczne zapisywanie do wcześniejszych wersji Corela
Autor Wiadomość
Trurl 
Ekspert



Pomógł: 66 razy
Wiek: 70
Dołączył: 04 Lut 2009
Posty: 952
Skąd: Warszawa
Wysłany: 11 Marzec 2011, 10:00   Automatyczne zapisywanie do wcześniejszych wersji Corela

Pracuję chwilowo w Corelu X5, ale odbiorcy moich prac dysponują wcześniejszymi wersjami - "dziewiątką", "jedenastką" i "dwunastką". Muszę więc zapisywać te prace we wcześniejszych wersjach, o czym zwykle zapominam i odbiorcy nie mogą ich otworzyć. Czy istnieje metoda na automatyczny zapis we wcześniejszych wersjach? Marzy mi się sytuacja, w której wciskam ctrl+S i moja praca zapisuje się np. w "jedenastce". Być może wystarczy zmienić coś w plikach konfiguracyjnych, np. w CorelDrw.ini?
 
 
Martin Nez 
Doradca
Grafik?


Wersja CorelDRAW: 2019
Pomógł: 14 razy
Dołączył: 29 Sty 2011
Posty: 114
Skąd: Czmoń
Wysłany: 11 Marzec 2011, 15:32   

Spróbuj użyć tego... Skrót możesz sobie ustawić w Opcjach Corela. Wybierz sobie wersję, w której chcesz zapisywać i usuń apostrof przed odpowiednią linią...
Kod:
Sub zapis_wersji()
Dim SaveOptions As StructSaveAsOptions
Set SaveOptions = CreateStructSaveAsOptions
With SaveOptions
.EmbedVBAProject = False
.Filter = cdrCDR
.IncludeCMXData = False
.Range = cdrAllPages
.EmbedICCProfile = False
' .Version = cdrVersion1 ' Corel 1.0
' .Version = cdrVersion2 ' Corel 2.0
' .Version = cdrVersion3 ' Corel 3.0
' .Version = cdrVersion4 ' Corel 4.0
' .Version = cdrVersion5 ' Corel 5.0
' .Version = cdrVersion6 ' Corel 6.0
' .Version = cdrVersion7 ' Corel 7.0
' .Version = cdrVersion8 ' Corel 8.0
' .Version = cdrVersion9 ' Corel 9.0
' .Version = cdrVersion10 ' Corel 10.0
' .Version = cdrVersion105 ' Corel 10.5
' .Version = cdrVersion11 ' Corel 11.0
' .Version = cdrVersion12 ' Corel 12.0
' .Version = cdrVersion13 ' Corel X3.0
' .Version = cdrVersion14 ' Corel X4.0
End With
ActiveDocument.SaveAs ActiveDocument.FullFileName, SaveOptions
End Sub


Pozdr,
MN
 
 
chezare 



Pomógł: 402 razy
Dołączył: 24 Gru 2010
Posty: 4551
Skąd: Grodzisk Mazowiecki
Wysłany: 11 Marzec 2011, 17:24   

Martin, musisz wykombinować makro na poprawę pamięci, bo jak Trurl zapomina, że ma zapisać w starszej wersji, to i o skrócie do makra zapomni :-)
 
 
Martin Nez 
Doradca
Grafik?


Wersja CorelDRAW: 2019
Pomógł: 14 razy
Dołączył: 29 Sty 2011
Posty: 114
Skąd: Czmoń
Wysłany: 11 Marzec 2011, 18:04   

Ja czasami stosuję wielkie kartki nad monitorem... Na kartce np. "Wersja 13!"... Ale to też nie zawsze działa, bo potem coś robię, zapisuję w 15, wysyłam do klienta... Można odsapnąć, odchylić głowę i się wyprostować... Nagle spojrzenie na kartkę i "K***a!!! Znowu!"... :)

MN
 
 
wawel 
Ekspert
wawel


Pomógł: 261 razy
Dołączył: 30 Mar 2008
Posty: 2143
Skąd: podgorze
Wysłany: 11 Marzec 2011, 18:09   

Martin Nez napisał/a:
... Nagle spojrzenie na kartkę i "K***a!!! Znowu!"... :)

MN


Bo to moze dlatego ze uzywasz otwartych plikow. Wielu grafikow nie udostepnia cdr, ai, indd, qxp itd. Traktuje je jako swoje. Dla klienta tylko pdf, eps, ps, tiff itd.
Ja rowniez wole dostac plik inny niz cdr, bo ten pewnie bedzie zapisany jako cdr X5 wiec nie do otworzenia. :mrgreen:
 
 
Trurl 
Ekspert



Pomógł: 66 razy
Wiek: 70
Dołączył: 04 Lut 2009
Posty: 952
Skąd: Warszawa
Wysłany: 11 Marzec 2011, 19:02   

Hmm... Gdyby to makro uruchamiało się w chwili, gdy nacisnę ctrl+S, to byłoby znakomicie... Czy można do tego doprowadzić?
 
 
chezare 



Pomógł: 402 razy
Dołączył: 24 Gru 2010
Posty: 4551
Skąd: Grodzisk Mazowiecki
Wysłany: 11 Marzec 2011, 19:10   

Jestem przekonany, że Szaman potrafi do tego doprowadzić :-)
Tak poważnie, to jakim problemem jest przypisanie skrótu do makra?
Kod:
Option Explicit
Declare Function GetKeyState Lib "user32" (ByVal vKey&) As Long

' Skrót Ctrl+S należy przypisać do tego makra i po krzyku.
Sub [b]CDRSaveSetup()[/b]
   Dim s$, i%
   s = InputBox("Version (0 = original):", "Save As Version", "12")
   If s = "" Or Not IsNumeric(s) Then Exit Sub
   i = Fix(CDbl(s)): If i <> 0 And (i < 7 Or i > Application.VersionMajor) Then MsgBox "Valid range: 7-" + CStr(Application.VersionMajor), vbCritical, "Error": Exit Sub
   SaveSetting "CorelDRAW", "SaveAsVersion", "Version", CStr(i)
   End Sub

Sub CDRSaveAsVersion()
   Dim so As StructSaveAsOptions
   On Error Resume Next
   If ActiveDocument Is Nothing Then Exit Sub
   Set so = Application.CreateStructSaveAsOptions
   so.EmbedICCProfile = True: so.EmbedVBAProject = hasVBA(ActiveDocument)
   so.Range = cdrAllPages
   so.ThumbnailSize = cdr10KColorThumbnail
   If (GetKeyState(&H91) And 1) <> 0 Then CDRSaveSetup
   Err.Clear
   so.Version = Val(GetSetting("CorelDRAW", "SaveAsVersion", "Version", "0"))
   If so.Version = 0 Then so.Version = Application.CorelScript.GetCDRFileVersion(ActiveDocument.FullFileName)
   If Err.Number Then so.Version = Application.VersionMajor
   so.Overwrite = True
   
   With ActiveWindow.ActiveView
      ActiveDocument.Properties("LastView", 0) = ActivePage.Index
      ActiveDocument.Properties("LastView", 1) = .OriginX
      ActiveDocument.Properties("LastView", 2) = .OriginY
      ActiveDocument.Properties("LastView", 3) = .Zoom
   End With
   
   ActiveDocument.SaveAs ActiveDocument.FullFileName, so
   End Sub

Function hasVBA(doc As Document) As Boolean
   Dim s$, vp As Object, i&, isVBA%
   For Each vp In Application.VBE.VBProjects
      Err.Clear: s = vp.FileName
      If Err.Number = 0 Then
         If StrComp(vp.FileName, doc.FullFileName, vbTextCompare) = 0 Then
            If vp.VBComponents.Count > 1 Then hasVBA = True: Exit For
            For i = 1 To vp.VBComponents.Count
               With vp.VBComponents(i)
                  If .Type = 100 Then 'vbext_ct_Document
                     If .CodeModule.CountOfLines = 0 Then Exit For
                     s = Trim$(Replace$(Replace$(.CodeModule.Lines(1, .CodeModule.CountOfLines), vbCr, ""), vbLf, ""))
                     If Len(s) > 15 Then If StrComp(s, "Option Explicit", vbTextCompare) <> 0 Then hasVBA = True
                  End If
               End With
            Next
            Exit For
         End If
      End If
   Next
   End Function

Ostatnio zmieniony przez chezare 11 Marzec 2011, 19:28, w całości zmieniany 5 razy  
 
 
wawel 
Ekspert
wawel


Pomógł: 261 razy
Dołączył: 30 Mar 2008
Posty: 2143
Skąd: podgorze
Wysłany: 11 Marzec 2011, 19:22   

tu jest gotowe makro i opis dot. ctrl s
http://macromonster.com/i...escr&id_desc=21

ps.
Taki watek juz z odpowiedzia tez juz byl na tym forum, i z gotowym makrem.
 
 
Martin Nez 
Doradca
Grafik?


Wersja CorelDRAW: 2019
Pomógł: 14 razy
Dołączył: 29 Sty 2011
Posty: 114
Skąd: Czmoń
Wysłany: 11 Marzec 2011, 19:33   

Trurl, ak mówiłem, skrót ustawiasz w opcjach Corela...
Narzędzia > Opcje > Polecenia > wybierasz Makra z listy > szukasz "zapis_wersji" > przechodzisz na zakładkę "Klawisze skrótów" > Wpisujesz skrót > klikasz "Przypisz"...

chezare... A'propos szamana to ja się nie wypowiadam. ;) Ale lubię czytać jak chcę sobie humor poprawić. :)

Pozdr,
MN
 
 
chezare 



Pomógł: 402 razy
Dołączył: 24 Gru 2010
Posty: 4551
Skąd: Grodzisk Mazowiecki
Wysłany: 11 Marzec 2011, 19:35   

A po co szukać jak Wawel powie co jak i gdzie :-)
To co ja miałem to to samo co podałeś w linku.
 
 
Trurl 
Ekspert



Pomógł: 66 razy
Wiek: 70
Dołączył: 04 Lut 2009
Posty: 952
Skąd: Warszawa
Wysłany: 14 Marzec 2011, 11:41   

Hmm... Muszę Wam wyznać pewną tajemnicę... Otóż, choć pracuję w Corelu już kilkanaście lat, to nigdy nie napisałem w nim makra. Kilka razy próbowałem, ale nic mi z tego nie wyszło. Nie mogłem znaleźć opisu języka makr i opisu techniki posługiwania się nim. Powiedzcie, jak to zrobić i które z nich wybrać - Martin Neza czy Chezare? No i gdzie znaleźć opis języka makr? Jest to jakaś odmiana VB, ale nie znam obiektów i metod...
 
 
chezare 



Pomógł: 402 razy
Dołączył: 24 Gru 2010
Posty: 4551
Skąd: Grodzisk Mazowiecki
Wysłany: 14 Marzec 2011, 13:40   

Martina, mam nadzieję, że on napisze to samo :-) . To co ja przytoczyłem nie jest moje żeby była jasność. Szaman mówi, że ja nie mam o tym pojęcia, a ja się z nim zgadzam.
Na oko, to to co ja zamieściłem jest lepsze, bo dłuższe :-)
Corel ma całkiem przyzwoity help :-)
 
 
bartek028
Początkujący


Dołączył: 14 Mar 2011
Posty: 2
Skąd: WLKP
Wysłany: 14 Marzec 2011, 14:45   Odp

Witam,

Mam podobny problem, ale interesuje mnie czy jest np. jakiś dodatek do Corela X3 który pozwalałby na otwieranie plików w wersji wyższej tak jak to się ma w przypadku np. Worda 2003, który czyta pliki Worda 2010.

Pozdrawiam
 
 
wawel 
Ekspert
wawel


Pomógł: 261 razy
Dołączył: 30 Mar 2008
Posty: 2143
Skąd: podgorze
Wysłany: 14 Marzec 2011, 15:06   Re: Odp

bartek028 napisał/a:
Witam,

Mam podobny problem, ale interesuje mnie czy jest np. jakiś dodatek do Corela X3 który pozwalałby na otwieranie plików w wersji wyższej tak jak to się ma w przypadku np. Worda 2003, który czyta pliki Worda 2010.

Pozdrawiam



Sa 3 programy poza Corelem, ktore potrafia otworzyc lub przekonwertowac pliki cdr. Obsluguja pliki cdr do wersji X4 wlacznie. (bodaj poza sk1 bo ten wers 7-X3)
sk1 (linux - wszystkie wieksze dystrybucje Ubuntu, Mint, Fedora, Mandriva, OpenSuse, pcLinuxOS)
UniConvertor (linux i windows)
nowy inkscape

Dzialaja dosc kiepsko jednak, jesli czcionki nie sa w krzywych to sie rozsypuja.
Mapy bitowe sa konwertowane do rgb (UniConvertor, inkscape) nie wiem jak sk1 - on obsluguje cmyka w mapach bitowych rowniez, wiec moze sobie poradzi - musialbym sprawdzic. EDIT: sprawdzilem otwiera mape bitowa w cmyku.

Jesli sa to proste elementy typu logo to powinno byc latwo sie do nich dostac.
pozdr.
 
 
Trurl 
Ekspert



Pomógł: 66 razy
Wiek: 70
Dołączył: 04 Lut 2009
Posty: 952
Skąd: Warszawa
Wysłany: 14 Marzec 2011, 16:43   

Wawel, Twoje makro działa... Dzięki.
 
 
lobo4581
Praktyk


Pomógł: 1 raz
Dołączył: 29 Lis 2011
Posty: 84
Skąd: Bytom
Wysłany: 11 Styczeń 2013, 09:07   

Tutaj jest do tego programik.
http://macromonster.com/i...roducts=19&id=9
 
 
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: 13