Экспорт электронной таблицы Excel в PDF с использованием OLE в Delphi XE3

Может ли кто-нибудь сказать мне, как экспортировать электронную таблицу Excel в PDF, используя код Delphi?

Я знаю, что в объекте MS Word OLE есть команда для экспорта в PDf, но я ничего не могу найти об Excel.

Пример Word в PDF:

Const
 wdExportFormatPDF = 17;

 WrdDoc.ExportAsFixedFormat(SaveToFile, wdExportFormatPDF);

person user2952034    schedule 26.01.2014    source источник
comment
@Tlama, я не хочу быть смешным, но для меня это не имеет смысла...   -  person user2952034    schedule 26.01.2014
comment
Пример кода был бы намного лучше: D   -  person user2952034    schedule 26.01.2014
comment
TLama не смешно, ваш вопрос был плохо сформулирован: вы говорили о Word и Excel. Для объекта Excel просто используйте ExportAsFixedFormat, а также msdn.microsoft.com/en-us/library/office/   -  person Jan Doggen    schedule 26.01.2014
comment
я пробовал oSheet.ExportAsFixedFormat('C:\temp.pdf',xlTypePDF); но безрезультатно, я получил необъявленную ошибку идентификатора   -  person user2952034    schedule 26.01.2014
comment
comment
пробовал, не получилось @davidheffernan   -  person user2952034    schedule 26.01.2014
comment
-1 за то, что сказал, что не работает без подробностей. Вы должны сделать лучше, чем это. Теперь выше вы сказали, что xlTypePDF ведет к необъявленному идентификатору. Так что давай, определяй xlTypePDF! Он имеет значение 0: msdn.microsoft. com/en-us/library/office/ Все, что вам нужно сделать, это прочитать сообщения об ошибках и выполнить поиск в Интернете.   -  person David Heffernan    schedule 26.01.2014
comment
Извините, я имею в виду, что пытался понять смысл этого поста, но не смог. правильный ответ был помечен как 17, и я попытался использовать ту же константу, что и со словом, как описано на этой странице. Но он говорит, что введите пропущенное совпадение, когда я вызываю WrdDoc.ExportAsFixedFormat('C:\temp.pdf', wdExportFormatPDF);   -  person user2952034    schedule 26.01.2014
comment
я определил его Const xlTypePDF=0; а затем вызывается oSheet.ExportAsFixedFormat('C:\temp.pdf',xlTypePDF); и все еще получаю ошибку несоответствия типов @Davidheffernan   -  person user2952034    schedule 26.01.2014
comment
Ну и какие параметры ожидает ExportAsFixedFormat? Не будьте беспомощны перед ошибками компилятора. Читать их. Также никогда не помешает прочитать документацию (msdn.microsoft.com/en-us/library/office/) Вы обнаружите, что ваши параметры неверны. Так что да, этот вопрос действительно является обманом.   -  person David Heffernan    schedule 26.01.2014
comment
@davidheffernan Ты заслуживаешь Золотую звезду. Вы на самом деле дали мне ссылки, которые я мог бы использовать. большое спасибо   -  person user2952034    schedule 26.01.2014
comment
просмотрите ссылки, у него есть объяснения относительно того, что нужно куда идти, и каковы возможности для каждого из вариантов, а также значения const для каждого   -  person user2952034    schedule 26.01.2014
comment
Я думаю, что вы только что щелкнули по ссылке, которую я предоставил, и даже перестали ее читать. Не бери в голову...   -  person TLama    schedule 26.01.2014


Ответы (1)


Правильный код

wb.ExportAsFixedFormat(xlTypePDF, FileName);

or

sheet.ExportAsFixedFormat(xlTypePDF, FileName);

где wb — рабочая книга, а sheet — рабочий лист. Если по какой-то причине ваша библиотека импорта не определяет xlTypePDF, она имеет значение 0.

Некоторые ссылки на документацию:

Если вы внимательно прочитаете документацию, то обнаружите, что передавали параметры в неправильном порядке.

person David Heffernan    schedule 26.01.2014
comment
где, черт возьми, вы находите эти ссылки? я гуглю свою задницу и ничего не нахожу... - person user2952034; 26.01.2014
comment
Как вы думаете, как я получил 247 тысяч повторений? Я не силен в программировании, я просто волшебник в веб-поиске!!! ;-). И я только наполовину шучу. Серьезно, это просто требует практики. - person David Heffernan; 26.01.2014
comment
еще 1 вещь. Знаете ли вы, как изменить цвет фона ячейки? Просто пробел, я пытался найти способ, но Excel не очень мне помогает. @ДэвидХеффернан - person user2952034; 26.01.2014
comment
Я знаю, как это сделать. Но я не могу ответить в комментарии здесь. По крайней мере, не в этот миг. - person David Heffernan; 26.01.2014
comment