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

Вниз

Не получается сформировать документ Word   Найти похожие ветки 

 
СержК   (2007-04-23 13:04) [0]

Мастера подскажите.
Пытаюсь сформировать документ Word (делаю это первый раз).

На форму бросил: WordApplication1, WordDocument1.

У WordApplication1 св-ва AutoConnect и AutoQuit - true, ConnectKind - ckRunningOrNew.

У WordDocument1 AutoConnect - ckAttachToInterface

Запускаю следующий код:

procedure TForm1.BitBtn2Click(Sender: TObject);
var n: OleVariant;
begin
WordApplication1.Documents.Add(EmptyParam,EmptyParam);
WordDocument1.ConnectTo(WordApplication1.ActiveDocument);
WordApplication1.Selection.TypeText("Документ созданный в Word");

n:="new.doc";
WordDocument1.SaveAs(n);
WordDocument1.Close;
end;

Файл word формируется, открывается, НО ПОСЛЕ закрытия при повторном запуске этого кода выскакивает ошибка: RPC сервер не доступен...

Кто знает в чем проблема подскажите. Очень нужно...


 
Плохиш ©   (2007-04-23 13:48) [1]

WordApplication1.Connect;

Нужен. Раз ты подключение закрываешь.


 
СержК   (2007-04-23 14:02) [2]

Пробовал еще раз: WordApplication1.Connect;
Не помогло...

Да вот еще что: После формирования файла копирую его
(вновь созданный файл) в другое место (не открывая), и при
запуске procedure TForm1.BitBtn2Click(Sender: TObject);
опять выскакивает та же ошибка


 
Плохиш ©   (2007-04-23 14:04) [3]


> СержК   (23.04.07 14:02) [2]
> Пробовал еще раз: WordApplication1.Connect;
> Не помогло...

Неправильно пробовал.


 
СержК   (2007-04-23 14:08) [4]

Если не трудно покажи как...


 
Плохиш ©   (2007-04-23 14:10) [5]

После begin надо вставить строчку из [1]


 
СержК   (2007-04-23 14:17) [6]

Я так и делаю:

procedure TForm1.BitBtn2Click(Sender: TObject);
var n: OleVariant;
begin
WordApplication1.Connect;

WordApplication1.Documents.Add(EmptyParam,EmptyParam);
WordDocument1.ConnectTo(WordApplication1.ActiveDocument);
WordApplication1.Selection.TypeText("Документ созданный в Word");

n:="C:\COM_Delphi\new.doc";
WordDocument1.SaveAs(n);
WordDocument1.Close;
end;

В итоге опять: RPC сервер не доступен...
???


 
Плохиш ©   (2007-04-23 14:19) [7]

Для Word2000 работает...


 
СержК   (2007-04-23 14:22) [8]

У меня тоже Word2000. В чем же проблема???


 
Плохиш ©   (2007-04-23 15:12) [9]


> В чем же проблема???

Понятия не имею, мо у меня, после копировании твоего кода, метод Add потребовал ещё два параметра.


 
СержК   (2007-04-23 15:54) [10]

Не понял???  Каких еще параметров ему(методу) нужно???

Я приведенную выше процедуру запускаю хоть 100 раз подряд - все OK!
Но как только обращаюсь к вновь созданному файлу Word (копировать, открыть...) - все хана (больше процедура не запускается)


 
Плохиш ©   (2007-04-23 17:52) [11]


> СержК   (23.04.07 15:54) [10]
> Не понял???  Каких еще параметров ему(методу) нужно???


   function Add(var Template: OleVariant; var NewTemplate: OleVariant;
                var DocumentType: OleVariant; var Visible: OleVariant): WordDocument; safecall;


> Но как только обращаюсь к вновь созданному файлу Word

Ни в [0], ни в [6] нет обращения к "вновь созданному файлу Word", т.о. делаем вывод, что у тебя ошибка в 17й строке и скучаем...


 
СержК   (2007-04-24 09:03) [12]

После того как процедура отработала, процесс winword все еще запущен.

ВОТ ТАК.

После открытия\закрытия word процесс закрывается.

Вставил в конце своего кода WordApplication1.Quit.

После отработки процедуры процесс Word завершается.
При повторном запуске procedure TForm1.BitBtn2Click(Sender: TObject);
выскакивает ошибка: RPC сервер не доступен.

Как эту проблему победить???



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

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

Наверх




Память: 0.49 MB
Время: 0.067 c
2-1177403471
artem.gor
2007-04-24 12:31
2007.05.13
Помогите написать процедуры


11-1159190982
lse
2006-09-25 17:29
2007.05.13
stroke2windowEx


6-1163216278
Avered
2006-11-11 06:37
2007.05.13
узнать IP клиента проходящего через прокси.


9-1149625295
DevilDevil
2006-06-07 00:21
2007.05.13
Алгоритм быстрой 3D графики


2-1177395643
SergantMM
2007-04-24 10:20
2007.05.13
Помогите,пожалуйста.