Макрос reSaveCMX

Для чего это нужно: Как и в любой большой программе с собственным форматом хранения данных, в файлах CorelDRAW иногда накапливается различная ненужная информация - мусор. Например, цветовые стили (хотя иногда они полезны). Это сказывается на вес файла и на время работы таких операций с ним, как открыть, копировать, вставить. В CorelDRAW Х4, со вторым сервис паком, решили проблему торможения при работе с файлами в которых много цветовых стилей. Однако сами стили никуда из файла не исчезают, и порой добавляют к файлам, в несколько сотен килобайт, несколько мегабайт.

Лечится это пересохранением в формат CMX. Благодаря простому макросу reSaveCMX, это делается нажатием одной кнопки.

Sub reSaveCMX()
If ActiveDocument Is Nothing Then Beep: Exit Sub
Dim expopt As StructExportOptions, expflt As ExportFilter, d As Document, s$
Set expopt = CreateStructExportOptions
Set d = ActiveDocument
s = d.FilePath & d.name & ".cmx"
Set expflt = ActiveDocument.ExportEx(s, cdrCMX6, cdrAllPages, expopt)
expflt.Finish
d.Close
Set d = OpenDocument(s)
Dim SaveOptions As StructSaveAsOptions
Set SaveOptions = CreateStructSaveAsOptions
With SaveOptions
.EmbedVBAProject = False
.Filter = cdrCDR
.IncludeCMXData = False
.Range = cdrAllPages
.EmbedICCProfile = False
.Version = cdrCurrentVersion
End With
d.SaveAs d.FilePath & d.name & ".cdr", SaveOptions
VBA.FileSystem.Kill s
End Sub

Автор: Sancho
Как устанавливать макросы

Категория: Макросы и скрипты | Добавил: Sancho | Опубликованно: 19.08.2009 | Просмотров: 757 | Комментариев: 3
Комментарии:
pablopablopablo
Сообщение: #1   Автор: pablopablopablo   (24.08.2009, 06:21)
Всё бы хорошо, только при пересохранении многостраничного документа остаётся лишь 1-ая страница, а ее размер задается как А4, независимо от того, каким он был до этого.

В целом, хорошая идея, но требует доработки. Тем не менее автору моё почтение

sassisa
Сообщение: #2   Автор: sassisa   (28.02.2010, 08:28)
а вообще было бы прикольно доработать таким образом
файл сохраняется в смх формат, а потом оттуда пересохраняется в сдр формат, с последующим удалением смх
правда, что делать с многостраничным документом?
Sancho
Сообщение: #3   Автор: Sancho   (28.02.2010, 12:10)
так так и делает ab просто CMK видимо не поддерживает многостраничность. Поделать то конечно можно, и очень даже просто. Будет время, доработаю ab
Добавлять комментарии могут только зарегистрированные пользователи!
Регистрация | Вход