Текущий архив: 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.47 MB
Время: 0.042 c