как создать цветной pdf из excel с помощью (Catia) vba

Хей, я новичок в кодировании. Я стараюсь изо всех сил, но я застрял. Я искал в Интернете и stackoverflow, но не нашел ответа. Я пишу код в Catia V5 VBA и хочу экспортировать excel в pdf. В Excel есть несколько цветных изображений, и я хочу, чтобы этот PDF-файл был также цветным. Но я всегда получаю черно-белый pdf. Это мой основной код:

Sub CATMain()
Set xlApp = CreateObject("Excel.Application")
Set mydoc = xlApp.Workbooks.Open("D:\Excel_1.xls")
Set mySheet = mydoc.Sheets.Item(1)

mySheet.ExportAsFixedFormat Type:=xlTypePDF, _
    fileName:="D:\Excel_1.pdf", _
    Quality:=xlQualityStandard, _
End Sub

Я искал другие параметры метода «ExportAsFixedFormat», но о цвете их нет.

В отчаянии я также пробовал:

xlApp.ActiveWorkbook.SaveAs "D:\Excel_1.pdf"

Но я получаю сообщение об ошибке: «Adobe Acribat не может открыть «Excel_1.pdf», потому что это либо неподдерживаемый тип файла, либо файл поврежден».

Метод Workbook.SaveAs имеет параметр «FileFormat», но в списке поддерживаемых форматов файлов нет pdf.

Вы знаете, какой метод я должен использовать, чтобы получить цветной PDF?

заранее спасибо


person CodeCatia    schedule 27.09.2017    source источник
comment
Это странно, потому что, когда я пробую ваш код с mySheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=D:\Excel_1.pdf, Quality:=xlQualityStandard, PDF-файл на выходе окрашивается. Когда я прочитал ваш вопрос, я предполагаю, что вы запускаете свой макрос из Catia. Можете ли вы проверить свой код из Excel (Excel › Visual Basic) и сказать мне, если PDF-файл все еще не окрашен?   -  person Putxe    schedule 27.09.2017
comment
Удалите также , _ после xlQualityStandard, если у вас нет других параметров после этого.   -  person Putxe    schedule 27.09.2017
comment
Благодарю за ваш ответ. Я понял, в чем была проблема, и она не была в коде (кроме непреднамеренной, _ части:)). Мне пришлось снять галочку Параметры страницы/Лист/Печать с черно-белого. Я был настолько сосредоточен на коде, что не смотрел на параметры настройки страницы в Excel.   -  person CodeCatia    schedule 27.09.2017


Ответы (1)


Если у кого-то такая же проблема, как у меня, просто добавьте этот код перед экспортом в pdf:

mySheet.PageSetup.BlackAndWhite = False

это установит лист для печати в цвете.

поэтому код будет выглядеть так:

Sub CATMain()

Set xlApp = CreateObject("Excel.Application")
Set mydoc = xlApp.Workbooks.Open("D:\Excel_1.xls")
Set mySheet = mydoc.Sheets.Item(1)

mySheet.PageSetup.BlackAndWhite = False

mySheet.ExportAsFixedFormat Type:=xlTypePDF, _
fileName:="D:\Excel_1.pdf", _
Quality:=xlQualityStandard

End Sub
person CodeCatia    schedule 27.09.2017