Експортирайте електронна таблица на Excel в PDF с помощта на OLE в Delphi XE3

Може ли някой да ми каже как да експортирам електронна таблица на Excel в pdf с помощта на код на delphi?

Знам, че има команда в OLE обекта на MS Word за експортиране в 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
опитах, не работи @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 и аз се опитах да използвам същата const, както правя с думата, както е описано на тази страница. Но се казва, че липсва съвпадение, когато извикам 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
прегледайте връзките, той има обяснения за това какво трябва да отиде къде и какви са възможностите за всяка от опциите, както и константните стойности за всяка   -  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
@user2952034 Уеб търсенето ми даде това stackoverflow.com/questions/9690924/ и office.microsoft.com/en-gb/excel-help/ и edn.embarcadero.com/article/10128 и msdn.microsoft.com/en-us/library/office/ff840499.aspx - person David Heffernan; 26.01.2014