Ошибка при попытке экспорта в eps через VBA

  • Автор темы Автор темы leechdraw
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.

leechdraw

Участник
Топикстартер
Сообщения
50
Реакции
0
Всем добрый день!
Задача - сделать экспорт выделенной области в eps в CorelDraw X5 через скрипт. Сразу отвечая на не заданные вопросы: экспорт через скрипт удобен тем, что параметры экспорта всегда одинаковые и соответственно выставлять каждый раз не нужно.

Проблема:
Включаю записать макрос - делаю экспорт. Получается VBA-скрипт того как производится экспорт. Пытаюсь выполнить этот скрипт получаю ошибку. Причем экспорт в ручную идет на ура.
Вот записанный скрипт:
Код:
Sub saveEPSSS()
    ' Recorded 23.08.2010
    Dim OrigSelection As ShapeRange
    Set OrigSelection = ActiveSelectionRange
    Dim expopt As StructExportOptions
    Set expopt = CreateStructExportOptions
    expopt.UseColorProfile = True
    Dim expflt As ExportFilter
    Set expflt = ActiveDocument.ExportEx("C:\filename.eps", cdrEPS, cdrAllPages, expopt)
    With expflt
        .Header = 1 ' FilterEPSLib.epsTIFFHeader
        .TIFFHeaderType = 4 ' FilterEPSLib.epsTIFFColor8
        .Resolution = 96
        .Transparent = True
        .TextAsCurves = False
        .IncludeFonts = True
        .ApplyICCProfile = True
        .SendBitmapsAs = 1 ' FilterEPSLib.epsRGB
        .MaintainOPILinks = False
        .AdjustFountainSteps = False
        .FountainSteps = 128
        .PSLevel = 2 ' FilterEPSLib.epsPSLevel2
        .UserName = "user"
        .UseJPEGCompression = False
        .JPEGCompression = 2
        .PreserveOverprints = True
        .OverprintBlack = False
        .AutoSpread = False
        .FixedWidth = False
        .MaxSpread = 0.000142
        .TextSpread = 0.005102
        .BoundingBox = 0 ' FilterEPSLib.epsObjects
        .UseBleed = False
        .Bleed = 31750#
        .CropMarks = False
        .UseFloatNumbers = False
        .UseSeparationProfile = True
        .ConvertSpot = True
        .OutputObjectColorMode = 1 ' FilterEPSLib.epsObjectsRGB
        .Finish
    End With
End Sub

Набор параметров пробовал разный.
Ошибка все время на вот этой строке:
Код:
.SendBitmapsAs = 1 ' FilterEPSLib.epsRGB
Ошибка не информативная:
Код:
Run-time error '-2147220991 (80040201)'
Unknown Error
Подскажите куда копать.
ЗЫ: поиск в гугле по коду ошибке дает кучу ссылок на Outlook - видимо ошибка как-то связана с VBA, а может и нет.
ЗЫЫ: в CorelDraw X3 все работало прекрасно, но по политическим причинам перешли на более свежую версию.
Заранее благодарен за подсказки.
 
Ответ: Ошибка при попытке экспорта в eps через VBA

Проблему решил отключением этой строчки.
Теперь все работает. :) Осталось выяснить, что именно эта опция делала и почему падала с такой волшебной ошибкой.
Кстати тем кто интересуется экспортом в другие форматы.
в X5 заработал экспорт в tiff прямым путем (в x3 приходилось сначала битмапить выделенную область, а уже битмап экспортировать)
вот пример того как у меня это реализовано:
Код:
Sub saveAsTiff(ByVal fn As String, ByVal sx As Integer, ByVal sy As Integer)
    Dim OrigSelection As ShapeRange
    Set OrigSelection = ActiveSelectionRange
    OrigSelection.CreateSelection
    Dim expopt As StructExportOptions
    Set expopt = CreateStructExportOptions
    With expopt
        .SizeX = sx
        .SizeY = sy
        .ResolutionX = 300
        .ResolutionY = 300
        .ImageType = cdrCMYKColorImage
        .AntiAliasingType = cdrNormalAntiAliasing
        .UseColorProfile = False
        .Compression = cdrCompressionNone
        .Dithered = False
        .Transparent = False
        .MaintainLayers = False
        .MaintainAspect = False
        .AlwaysOverprintBlack = True
        .Overwrite = True
    End With
    Dim expflt As ExportFilter
    Set expflt = ActiveDocument.ExportEx(fn, cdrTIFF, cdrSelection, expopt)
    expflt.Finish
End Sub
Думаю, комментарии не требуются. :)
 
Ответ: Ошибка при попытке экспорта в eps через VBA

Комментарий модератора: Скриптами в нашей ветке называются программы на языке CorelSCRIPT, a программы на VBA называются макросами.
 
Ответ: Ошибка при попытке экспорта в eps через VBA

окей. окей. окей... не так уж часто пишу на этом форуме потому и путаю.
 
Статус
Закрыто для дальнейших ответов.