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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 30.03.2019, 19:24   #1
Alex711
Пользователь
 
Регистрация: 21.09.2018
Сообщений: 99
По умолчанию Печать файла excel Delphi 7

Здравствуйте, два дня ищу, и не нашёл ни одного нормального ответа на вопрос: Как распечатать файл excel из Delphi с выбором принтера, я печатаю так, но только на принтере по умолчанию:
Код:
procedure TForm1.BtnPrintClick(Sender: TObject);
begin
  Apex := CreateOleObject('Excel.Application'); 
  Apex.Workbooks.Open(Ap+'akt.xlsx'); 
  Apex.Worksheets[1].PrintOut;
  Apex.DisplayAlerts:=false; 
  Apex.Quit; 
  Apex := Unassigned;
end;
Или как вызвать диалог печати самого Excel?
Заранее благодарю за ответы.
Alex711 вне форума Ответить с цитированием
Старый 30.03.2019, 21:08   #2
PTyTb32
Форумчанин
 
Регистрация: 06.10.2013
Сообщений: 216
По умолчанию

заметил что форма настройки каждого принтера уникальна? я пытался ее вызвать и познал фиаско.. но принтер выбрать мог, не помню как но исходники есть, если очень нужно на днях могу найти
PTyTb32 вне форума Ответить с цитированием
Старый 30.03.2019, 21:46   #3
Alex711
Пользователь
 
Регистрация: 21.09.2018
Сообщений: 99
По умолчанию

PTyTb32 найди пожалуйста, очень надо.
Alex711 вне форума Ответить с цитированием
Старый 30.03.2019, 21:53   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

https://www.planetaexcel.ru/forum/in...ID=1&TID=83806
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 30.03.2019, 22:24   #5
PTyTb32
Форумчанин
 
Регистрация: 06.10.2013
Сообщений: 216
По умолчанию

так прога печатает
ap.Workbooks[1].printout(1, 2, 1, false, PrinterName);

вот функция
expression. PrintOut( _From_ , _To_ , _Copies_ , _Preview_ , _ActivePrinter_ , _PrintToFile_ , _Collate_ , _PrToFileName_ , _IgnorePrintAreas_ )
Взята с микрософта


видимо главнфй параметр тут - PrinterName
он задается тут

procedure TFSittingsPrinter.Button1Click(Send er: TObject);
var
i: integer;
begin
for i := 0 to MDIChildCount - 1 do
if MDIChildren[i] is TFPrintpl then
begin
(MDIChildren[i] as TFPrintpl).PrinterName :=
ListBox1.Items[ListBox1.ItemIndex];
(MDIChildren[i] as TFPrintpl).Ini.WriteString('Sitting s', 'Printer',
ListBox1.Items[ListBox1.ItemIndex]);
Exit;
end;

end;


а лист бокс набирается тут
procedure TFSittingsPrinter.FormShow(Sender: TObject);
begin
Label5.Caption := GetDefaultPrinter;
ListBox1.Items.Clear;
for i := 0 to Printer.printers.Count - 1 do
ListBox1.Items.add(Printer.printers .Strings[i]);

end;

а это в юзес printers
PTyTb32 вне форума Ответить с цитированием
Старый 31.03.2019, 14:28   #6
Alex711
Пользователь
 
Регистрация: 21.09.2018
Сообщений: 99
По умолчанию

Вывел установленные принтеры в ListBox, с функцией:
expression. PrintOut( _From_ , _To_ , _Copies_ , _Preview_ , _ActivePrinter_ , _PrintToFile_ , _Collate_ , _PrToFileName_ , _IgnorePrintAreas_ )
ничего не понятно, как использовать?
Alex711 вне форума Ответить с цитированием
Старый 31.03.2019, 16:10   #7
Alex711
Пользователь
 
Регистрация: 21.09.2018
Сообщений: 99
По умолчанию

Спасибо PTyTb32, из твоего кода поубирал лишнего и немного переделал, всё работает, ты очень помог!
Alex711 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Базы данных Delphi 7, связка access экспорт в excel,печать. ms_root Фриланс 14 27.03.2015 16:19
Печать Excel из delphi Ivan174 Общие вопросы Delphi 12 09.11.2013 00:24
Экспорт в Excel и OpenOffice (печать получаемого файла на 1 страницу) @pple Общие вопросы .NET 2 09.11.2009 08:58
печать в excel HANK Microsoft Office Excel 1 04.08.2007 07:48