Форум: "Основная";
Текущий архив: 2004.03.14;
Скачать: [xml.tar.bz2];
ВнизРабота с WordApplication и WordDocument Найти похожие ветки
← →
Александр1 (2004-02-26 14:20) [0]Здравствуйте уважаемые мастера!!!!!!!!!!!
Как при помощи компанентов WordApplication и WordDocument отправить созданный документ Word на печать. Вернее создавать я его умею (записывать строчки, строить таблицы). А как его заставть печататься на принтере я незнаю.
← →
SPIRIT (2004-02-26 14:54) [1]"это" соединиться с вордом, откроет файл, вызовет диалог печати :
uses ComObj;
var W:variant;
Function CreateWord:boolean;
begin
CreateWord:=true;
try
W:=CreateOleObject("Word.Application");
except
CreateWord:=false;
end;
End;
Function OpenDoc (file_:string):boolean;
Var Doc_:variant;
begin
OpenDoc:=true;
try
Doc_:=W.Documents;
Doc_.Open(file_);
except
OpenDoc:=false;
end;
End;
Function PrintDialogWord:boolean;
Const wdDialogFilePrint=88;
begin
PrintDialogWord:=true;
try
W.Dialogs.Item(wdDialogFilePrint).Show;
except
PrintDialogWord:=false;
end;
End;
← →
Александр1 (2004-02-26 16:53) [2]Простите меня за глупые вопросы я ещё учусь.
SPIRIT Твой пример хорошь, но мне надо при помощи компанента у меня написана огромная прога с использование Word
и я нехочу её переделывать. Мне просто надо заствавить word печатать автоматом!!!!
WordApp := WordApp.Create(nil);
WordApp.Visible := true;
Template := "Normal";
OpenAsTemplate := false;
WordApp.Documents.Add(Template, OpenAsTemplate);
WordDoc1.ConnectKind := ckAttachToInterface;
WordDoc1.ConnectTo(WordApp.ActiveDocument);
Template := WordDoc1.Range;
WordDoc1.Paragraphs.Add(Template); {Добавляю параграф}
WordDoc1.Paragraphs.Item(4).Range.InsertBefore("Текст который я хочу видеть на листе");
И т.д можно добавть таблицу или ещё че-нибуть.
..........................................
WordDoc1.печать...... как напечатать документ
А да!!!! Кстати как у меня почему-то вот этот алгоритм выполняется только один раз. Когда я нажимаю повторно кнопку, то
он пишет ошибку и не хочет открывать WORD. Наерно в этом алгоритме нехватает какова-нибуть закрытия
(разрыва соединения с word или как???????????????????)
← →
Alex* (2004-02-26 17:13) [3]
> Александр1 (26.02.04 16:53) [2]
> А да!!!! Кстати как у меня почему-то вот этот алгоритм выполняется
> только один раз. Когда я нажимаю повторно кнопку, то
> он пишет ошибку и не хочет открывать WORD. Наерно в этом
> алгоритме нехватает какова-нибуть закрытия
> (разрыва соединения с word или как???????????????????)
Обнули
try
.......
finally
WordDoc1 := NIL;
end; //try
Это должно помочь
← →
Alex* (2004-02-26 17:16) [4]
> Александр1 (26.02.04 16:53) [2]
Если решиш проблему с принтером скинь на мой e-mail у меня таже проблема с Excelem
← →
Александр1 (2004-02-26 18:30) [5]Alex* ХОРОШО скину!
← →
Alex* (2004-02-27 10:10) [6]
> Александр1 (26.02.04 18:30) [5]
Покопался с Факе и вот, что нашел
unit InWord;
interface
uses
... ComCtrls; // Delphi3
... OLEAuto; // Delphi2
[skip]
procedure TPrintForm.MPrintClick(Sender: TObject);
var W: Variant;
S: String;
begin
S:=IntToStr(Num);
try // А вдруг где ошибка :)
W:=CreateOleObject("Word.Basic");
// Создаем документ по шаблону MyWordDot
// с указанием пути если он не в папке шаблонов Word
W.FileNew(Template:="C:\MyPath\DB\MyWordDot",NewTemplate:=0);
// Отключение фоновой печати (на LJ5L без этого был пустой лист)
W.ToolsOptionsPrint(Background:=0);
// Переходим к закладке Word"a "Num"
W.EditGoto("Num"); W.Insert(S);
//Сохранение
W.FileSaveAs("C:\MayPath\Reports\MyReport")
W.FilePrint(NumCopies:="2"); // Печать 2-х копий finally
W.ToolsOptionsPrint(Background:=1);
W:=UnAssigned;
end;
end;
{.....}
=== Cut Конец примера ===
Это пример для Delphi 2 и 3 если полусится переделать под твой нужды расскажи как. У меня с Excelem не получилось
← →
Александр1 (2004-02-27 14:49) [7]Alex* Если время найду, то покапаю. А так то вообще-то шибко некогда. Учёба курсовые.
← →
Александр1 (2004-02-27 18:25) [8]Ну так чё так никто и не знает как заставить Word печатать документы из программы?????????????????
← →
Тимохов (2004-02-27 18:31) [9]ActiveDocument.PrintOut
← →
Александр1 (2004-02-27 20:39) [10]Тимохов - Спасибо большое работает!!!!!!!!!!
← →
Александр1 (2004-02-27 20:41) [11]А да!!!! Кстати как у меня почему-то вот этот алгоритм выполняется только один раз. Когда я нажимаю повторно кнопку, то
он пишет ошибку и не хочет открывать WORD. Наерно в этом алгоритме нехватает какова-нибуть закрытия
(разрыва соединения с word или как???????????????????)
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.03.14;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.022 c