Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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.208 c
14-43811
Knight
2004-02-21 23:48
2004.03.14
Матрица по телевизору...


14-43866
Verg
2004-02-21 12:43
2004.03.14
Machine Head - это драйв!


3-43338
Юра
2004-02-16 12:43
2004.03.14
corruped index


7-43910
Mnch
2003-12-21 16:45
2004.03.14
Dos-проиложение в окне Windows не работает с Com-портом


1-43423
Vlad25
2004-03-03 18:44
2004.03.14
Добавление к версии build





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский