Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.09.2012, 09:38   #1
Ivan174
Пользователь
 
Регистрация: 05.09.2012
Сообщений: 51
Печаль Печать Excel из delphi

Здравствуйте. Только начинаю изучать делфи и столкнулся с такой проблемой, не могу никак решить. Имеется накладная в формате .xls.
Код:
Ap := CreateOleObject('Excel.Application');
Ap.Workbooks.Open('C:\..\sp31.xls');
Для начала нужно просто из делфей ее распечатать, но пользователь должен сам выбирать принтер. кидаю на форму PrintDialog.

Код:
if printDialog1.Execute then
А что дальше? Как распечатать мой документ с настройками принтера, которые сделал юзер?
Ivan174 вне форума Ответить с цитированием
Старый 05.09.2012, 11:38   #2
FaTaL
Участник клуба
 
Аватар для FaTaL
 
Регистрация: 09.11.2007
Сообщений: 1,762
По умолчанию

Тогда лучше печатать из самого Excel, а не из диалога Delphi.
FaTaL вне форума Ответить с цитированием
Старый 05.09.2012, 11:58   #3
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

У Excel.Application есть метод для печати, вот его и надо вызывать с указанием того принтера что выбрали в диалоге.
Ну и сам Excel надо прятать.
eval вне форума Ответить с цитированием
Старый 05.09.2012, 12:11   #4
Ivan174
Пользователь
 
Регистрация: 05.09.2012
Сообщений: 51
По умолчанию

Цитата:
Сообщение от FaTaL Посмотреть сообщение
Тогда лучше печатать из самого Excel, а не из диалога Delphi.
Позже к программе будет подцеплена база данных. Данные из базы будут подставляться в накладную и только потом накладная будет распечатываться. С заполнением документа вопросов нет, проблема именно с печатью...

Цитата:
Сообщение от eval Посмотреть сообщение
У Excel.Application есть метод для печати, вот его и надо вызывать с указанием того принтера что выбрали в диалоге.
Ну и сам Excel надо прятать.
А не подскажете, что за метод?

Последний раз редактировалось Stilet; 09.11.2013 в 12:40.
Ivan174 вне форума Ответить с цитированием
Старый 05.09.2012, 12:18   #5
SNUPY
Форумчанин
 
Регистрация: 15.02.2008
Сообщений: 621
По умолчанию

Для простоты советуют посмотреть VBA код который будет сформирован при автозаписи макроса близкой к этой аналогии будет код в Delphi во всяком случаем имена сущностей будут совпадать.
Помог? Ну так нажми на весы!
SNUPY вне форума Ответить с цитированием
Старый 05.09.2012, 12:20   #6
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

В справке по Excel все есть. PrintOut
eval вне форума Ответить с цитированием
Старый 05.09.2012, 13:13   #7
Ivan174
Пользователь
 
Регистрация: 05.09.2012
Сообщений: 51
По умолчанию

Цитата:
Сообщение от eval Посмотреть сообщение
В справке по Excel все есть. PrintOut
Я уже пробовал PrintOut. Если без параметров - то печатает на принтере по умолчанию, даже если в PrintDialog выбрать другой принтер. А указать параметры по непонятной для меня причине не получается.

PrintOut([From], [To], [Copies], [Preview], [ActivePrinter], [PrintToFile], [Collate], [PrToFileName])

Если написать PrintOut(Preview:=True) - Preview подчеркивается как неопознанная переменная(( С ActivePrinter та же беда. Остальные параметры не пробовал, ибо не важно
Ivan174 вне форума Ответить с цитированием
Старый 05.09.2012, 13:41   #8
SNUPY
Форумчанин
 
Регистрация: 15.02.2008
Сообщений: 621
По умолчанию

http://www.delphimaster.ru/cgi-bin/f...1235064008&n=8
Помог? Ну так нажми на весы!
SNUPY вне форума Ответить с цитированием
Старый 05.09.2012, 13:41   #9
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

Указывать надо ActivePrinter и указывать правильно.
eval вне форума Ответить с цитированием
Старый 05.09.2012, 13:49   #10
FaTaL
Участник клуба
 
Аватар для FaTaL
 
Регистрация: 09.11.2007
Сообщений: 1,762
По умолчанию

Посмотрите книгу Василий Корняков "Программирование документов и приложений MS Office в Delphi" страница 332
FaTaL вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Скрипты в Excel, позволяющие автоматически изменять строки при выводе на печать Mountain_Fox Microsoft Office Excel 4 29.03.2012 22:05
автоматизировать печать в excel Ensop Microsoft Office Excel 2 28.07.2010 19:18
печать листов excel ара Помощь студентам 10 07.04.2010 10:12
Экспорт в Excel и OpenOffice (печать получаемого файла на 1 страницу) @pple Общие вопросы .NET 2 09.11.2009 08:58
печать в excel HANK Microsoft Office Excel 1 04.08.2007 07:48