Corel FORUM
Forum użytkowników programów firmy Corel. Grafika wektorowa, rastrowa i obróbka zdjęć cyfrowych

Makra - Masowa zmiana wersji pliku z x5 do 12

mr13 - 25 Maj 2011, 14:49
Temat postu: Masowa zmiana wersji pliku z x5 do 12
Witam wszystkich. Mam następujący problem - potrzebuję zmienić kilkaset plików w różnych katalogach z wersji x5 do 12. Znalazłem makro jednak ono ma możliwość konwersji jedynie do wersji 15 i 14.

Czy ktoś miał kiedyś podobny temat i mógłby mi wskazać jak to zrobić z automatu? Na programowaniu w vba się nie znam więc makra sobie nie napiszę.

Pozdrawiam
marek

wawel - 25 Maj 2011, 15:21

Byly juz tu takie tematy i byly tam linki do makr ale zanim zaczniesz szukac to zobacz to - na 12 stce to dzialalo ale czy na X5 tez nie wiem mozna sprawdzic

Sub SaveOlderVer()
Dim opt As New StructSaveAsOptions

' Specify source and target folder here (both must exist)
SourceFolder = "C:\sciezka dostepu"
TargetFolder = "C:\sciezka dostepu"

' Specify output CDR version here
opt.Version = cdrVersion12

Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.GetFolder(SourceFolder)
Set fc = f.Files
For Each f1 In fc
If LCase(Right(f1.Name, 4)) = ".cdr" Then
OpenDocument f1.Path
ActiveDocument.SaveAs f1, opt
ActiveDocument.Close
End If
Next
End Sub

i tu tez jest makro tego typu
http://macromonster.com/i...rsion&Submit=Go

maslo - 8 Sierpień 2011, 10:23

Twój skrypt działa ale zapisuje w katalogu źródłowym:
Dzięki 2 linijkom działa jak powinien.

Private Sub CommandButton1_Click()
Dim opt As New StructSaveAsOptions

' Specify source and target folder here (both must exist)
SourceFolder = "C:\Corel\x5"
TargetFolder = "C:\Corel\12"

' Specify output CDR version here
opt.Version = cdrVersion12

Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.GetFolder(SourceFolder)
Set fc = f.Files
For Each f1 In fc
If LCase(Right(f1.Name, 4)) = ".cdr" Then
OpenDocument f1.Path
If Right(TargetFolder, 1) <> "\" Then TargetFolder = TargetFolder & "\"

ActiveDocument.SaveAs TargetFolder & f1.Name, opt
ActiveDocument.Close
End If
Next
End Sub

Tak czy siak, znów przydała się Twoja pomoc.
Pozdrawiam


Powered by phpBB modified by Przemo © 2003 phpBB Group