Экспорт в файл макросом CorelDraw


Макросы в CorelDraw – это не только операции с фигурами, слоями, шейпами и прочими элементами файла, но и работа непосредственно самими файлами; файловой системой компьютера. Я уже писал о том, как можно прочитать из файла, а в этой небольшой заметке покажу, как создавать папки, экспортировать в разные форматы файлов и получать имя открытого документа с помощью макроса для CorelDraw на языке VBA.

Итак, для начала функция, которая создает папку

Sub CreateFolderUp(folderUp As String)
    If Len(Dir(folderUp, vbDirectory)) = 0 Then
        MkDir folderUp
    End If
End Sub
На вход функция принимает строку (адрес) будущего каталога, проверяет, существует ли уже такая, и если существует, то создает директорию с указанным адресом.

Экспорт в формат JPEG

Dim expflt As ExportFilter, doc1 As Document, wid As Long, hey As Long, adr As String
Set doc1 = ActiveDocument
Set expflt = doc1.ExportBitmap(adr, cdrJPEG, cdrAllPages, cdrRGBColorImage, wid, hey, 150, 150, cdrNormalAntiAliasing, False, False, True, False, cdrCompressionNone)
    With expflt
        .Progressive = False
        .Optimized = True
        .SubFormat = 0
        .Compression = 50
        .Smoothing = 10
        .Finish
    End With
Размеры и настройки понятны должны быть из названий. А вот код для сохранения файла в формате CorelDraw (cdr):

  Dim opt As New StructSaveAsOptions, upFile As String
  If ActiveDocument.Dirty Then ActiveDocument.Save
    opt.EmbedICCProfile = False
    opt.EmbedVBAProject = True
    opt.Filter = cdrCDR
    opt.IncludeCMXData = False
    opt.Overwrite = True
    opt.Range = cdrAllPages
    opt.ThumbnailSize = cdr10KColorThumbnail
    opt.Version = cdrFileVersion.cdrVersion13
    ActiveDocument.SaveAs upFile, opt
Часто для экспорта требуется знать адрес открытого документа, чтобы сохранить новый файл рядом. Текущая папка документа

ActiveDocument.FilePath
Имя открытого документа:

ActiveDocument.FileName
Обратите внимание, что две команды выше вызовут ошибку, если вызывать их для еще ни разу не сохранённого документа.

Автор этого материала - я - Пахолков Юрий. Я оказываю услуги по написанию программ на языках Java, C++, C# (а также консультирую по ним) и созданию сайтов. Работаю с сайтами на CMS OpenCart, WordPress, ModX и самописными. Кроме этого, работаю напрямую с JavaScript, PHP, CSS, HTML - то есть могу доработать ваш сайт или помочь с веб-программированием. Пишите сюда.

тегизаметки, макросы, CorelDraw, VBA




Отправляя сообщение я подтверждаю, что ознакомлен и согласен с политикой конфиденциальности данного сайта.




Убираем 503 и блокируем баблософт
А так ли вредно курить?
Портирование Java (Android) на C# (WinForms)