![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Печать через WordApplication [D6, Win2k]
Alex Dobrushin © (2002-03-18 19:55:00)Вот код, открываем файл и печатаем его на принтер.
var
WordApp : OleVariant;
begin
WordApp := CreateOleObject(PChar("Word.application.8"));
try
WordApp.Visible:=false;
WordDoc:=WordApp.Documents.Open(vFileName);
WordDoc.PrintOut(Background := false,
Range := wdPrintFromTo,
From := vFromPage,
To_ := vToPage,
Copies := vCopies )
end;
Но при выполнении PrintOut получаю ошибку: Method "PrintOut" not supported by automation object. Если же убрать строки Range, From и To_, то все работает. Только мне как раз и нужно печатать не весь документ, а его часть. Где же ошибка, кто подскажет?
Alex Dobrushin (2002-03-19 19:33:00) [1]Да, именно так и я переделал, а то, что Word ждет TO вместо To_, так это ж не я придумал, это так в Борландовской библиотеке прописано, по понятной причине - TO зарезервированное слово. Все равно, спасибо!!!
alexandervasjuk (2002-03-19 12:50:00) [2]Word ждет не To_, а To (если ты через CreateOleObject соединяешься)
Но все равно какое-то несовпадение типов.
А вот так получается:
var
W, D: OleVariant;
const
wdPrintFromTo = 3;
wdPrintRangeOfPages = 4;
begin
W := CreateOleObject(PChar("Word.application.8"));
W.Visible := True; // Извини
D := W.Documents.Open("\a.doc");
D.PrintOut(Background := false,
Range := wdPrintRangeOfPages,
Pages := "1", // или "1-10"
Copies := 2);