Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.10.08;
Скачать: CL | DM;

Вниз

Доступные принтеры   Найти похожие ветки 

 
konrads   (2006-08-17 10:13) [0]

Как узнать, какие принтеры доступны, и как распечатать на них через EXCEL, сначала на один принер, потом на другой.  
....WorkBooks[1].WorkSheets[1].PrintOut - печатает на принтер который в системе по умолчанию


 
Пусик ©   (2006-08-17 10:40) [1]

См. Printer.Printers


 
konrads   (2006-08-17 10:55) [2]

Спасибо, с доступными теперь понятно, а как Excel заставить печатать сначала на один, потом на второй. Где у него найти PrinterSetup?


 
Пусик ©   (2006-08-17 11:59) [3]


> konrads   (17.08.06 10:55) [2]
> Спасибо, с доступными теперь понятно, а как Excel заставить
> печатать сначала на один, потом на второй. Где у него найти
> PrinterSetup?


см. Printer.PrinterIndex ;)


 
konrads   (2006-08-18 12:45) [4]

Для программы он меняет принтер, для EXCEL - нет


 
konrads   (2006-08-24 10:08) [5]

ничего не получается :)


 
Anatoly Podgoretsky ©   (2006-08-24 10:10) [6]

konrads   (17.08.06 10:55) [2]
В меню Файл/Печать


 
konrads   (2006-08-24 11:56) [7]

из программы как это сделать?


 
Anatoly Podgoretsky ©   (2006-08-24 12:00) [8]

Смотри документную модель Экселя, это на Микрософт


 
Сергей М. ©   (2006-08-24 12:24) [9]

ExcelApplication.ActivePrinter := "Имя принтера"


 
konrads   (2006-08-31 10:52) [10]

Это свойство ReadOnly    :(


 
Сергей М. ©   (2006-08-31 11:00) [11]


> Это свойство ReadOnly


Да не ужели ?
А вот Майкрософт иного мнения)


 
konrads   (2006-08-31 11:45) [12]


var XL: variant;
.......
 XL := CreateOleObject("Excel.Application");
 XL.Visible := true;
 XL.WorkBooks.Add;
 XL.WorkBooks[1].WorkSheets[1].Cells[1,1] := XL.Application.ActivePrinter;
 XL.Application.ActivePrinter := "Canon LASER SHOT LBP-1120";
.......


"Canon LASER SHOT LBP-1120"  один из реально установленных принтеров в системе. Программа выдаёт ошибку: "Нельзя установить свойство ActivePrinter класса Application"


.......
 XL.ActivePrinter := "Canon LASER SHOT LBP-1120";
.......


даёт ту-же ошибку


.......
 XL.ExcelApplication.ActivePrinter
.......


Говорит что метод отсутствует в объекте автоматизации

Где ошибка ?


 
Сергей М. ©   (2006-08-31 12:05) [13]


> выдаёт ошибку: "Нельзя установить свойство ActivePrinter
> класса Application"


Фиг знает, почему так.
Свойство это read/write - это 100%-но, вот выдержка из справки:

ActivePrinter Property
Returns or sets the name of the active printer. Read/write String.


Причем установка св-ва дает отлуп только при обращении к Ёхелю как к олей-объекту, при обращении же как к сом-объекту все в порядке.

Бросай на форму компонент TExcelApplication и проверяй:

procedure TForm2.Button1Click(Sender: TObject);
begin
 ExcelApplication1.Connect;
 try
   ShowMessage(ExcelApplication1.ActivePrinter[0]);
   ExcelApplication1.ActivePrinter[0] := xl.Application.ActivePrinter[0];
 finally
   ExcelApplication1.Disconnect;
 end;
end;

У меня это работает.


> XL.ExcelApplication.ActivePrinter
> Говорит что метод отсутствует в объекте автоматизации


Метода XL.ExcelApplication действительно нет, есть свойство XL.Application, обращение к нему осуществляется по умолчанию при обращении к объекту XL, так что выделенное жирным в строке XL.Application.ActivePrinter не обязательно.



Страницы: 1 вся ветка

Текущий архив: 2006.10.08;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.037 c
15-1158243464
iamdanil
2006-09-14 18:17
2006.10.08
Как сохранить ьекстовый файл на сониериксон к300?


1-1156780556
J o i n t
2006-08-28 19:55
2006.10.08
Rave Report, выборка данных


15-1158293479
Pazitron_Brain
2006-09-15 08:11
2006.10.08
Модель общественного повидения


15-1158328560
AntiUser
2006-09-15 17:56
2006.10.08
Обязательно ли освобождать ...


3-1155213781
Ega23
2006-08-10 16:43
2006.10.08
конструкция Update ... Set ID=(Select)