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

Вниз

Word и его потомки   Найти похожие ветки 

 
Doctor Deejay ©   (2003-09-20 11:48) [0]

Проблема в следующем: Есть программа, которая создает файл док в открытом из нее же ворде. После того как я открываю двойным щелчком еще один файл док, а потом пытаюсь добавить какое-то инфо в свой док, то программа почему-то добавляет во второй. Можно ли как-то защитить или привязать программу к определенному файлу?


 
jack128 ©   (2003-09-20 13:25) [1]

А как ты дабавляешь данные в док файл?


 
Doctor Deejay ©   (2003-09-21 13:38) [2]

{-------------------- ОТКРЫТИЕ ВОРДА -----------------------}
procedure TForm1.wordstart;
begin
try
WApp.Connect;
WApp.Visible := False;
WApp.Caption := "Market Media Monitoring";
except showmessage("Невозможно запустить Word"); end;
end;
{----------------------------------------------------------}

{---------------------- ЗАКРЫТИЕ ВОРДА ----------------------}
procedure TForm1.wordexit;
begin
try
WApp.Disconnect;
WApp.Quit;
except showmessage("Невозможно отключить Word"); end;
end;
{-----------------------------------------------------------}

{--------------- ОТКРЫТИЕ ВЫБРАННОГО ФАЙЛА -------------------}
procedure TForm1.openfile(var napravlenie:integer);
var
filename: olevariant;
begin
path:= extractfilepath(Application.ExeName)else

try WApp.Documents.Add(path,emptyparam, emptyparam, emptyparam);
except showmessage("файл "+ filename +" не найден"); end;

WDoc.ConnectTo(WApp.ActiveDocument);
WParFor.ConnectTo(WApp.Selection.ParagraphFormat);

end;
{-----------------------------------------------------------}

{------------ СОХРАНЕНИЕ ФАЙЛА И ЗАКРЫТИЕ------------------}
procedure TForm1.savefile;
var
SaveChanges: OleVariant;
begin
SaveChanges:=True;
try
WApp.ActiveDocument.SaveAs(path,emptyparam, emptyparam, emptyparam, emptyparam, emptyparam, emptyparam, emptyparam, emptyparam, emptyparam, emptyparam);
except end;
SaveChanges:=False;
WApp.ActiveDocument.Close(SaveChanges, emptyparam, emptyparam);
end;
{----------------------------------------------------------}

{---------------- ПЕЧАТЬ ТЕКСТА В ДОКУМЕНТЕ ---------------}
procedure TForm1.printtext(var txt:string; bold, size, color:integer);
begin
WApp.Selection.Font.Name:="Times New Roman";
WApp.Selection.Font.Bold:=bold;
WApp.Selection.Font.Size:=size;
WApp.Selection.Font.ColorIndex:=color;
WApp.Selection.TypeText(txt+#13);
end;
{-------------------------------------------------------------}

//или второй способ

{------------------- ПЕЧАТЬ ТЕКСТА 2 -------------------------}
procedure TForm1.printurl(var url,urlname:string; bold, size:integer);
var i1,i2,vcol,gcol:OleVariant;
begin
i1:=urlname;
i2:="#"+url;
Wapp.ActiveDocument.Hyperlinks.Add(Wapp.Selection.Range, i2, emptyparam, emptyparam, i1, emptyparam);

vcol:=WApp.Selection.Start-length(urlname)-1;
gcol:=WApp.Selection.End_;

WDoc.Range(vcol,gcol).Font.Color:=clBlack;
WDoc.Range(vcol,gcol).Font.Bold:=bold;

WApp.Selection.Start:=WApp.Selection.End_;
end;
{---------------------------------------------------------}

Всё работае классно, пока не открою 2 файл(не из программы). Потом прога как бы теряет тот документ, который создала сама.

Если кто-то может чем-то помочь - буду очень благодарен, т.к. кроме того, что она "теряет" файл, она сохраняет второй документ на место первого. Так я потерял свою работу в 250 страниц. :(


 
jack128 ©   (2003-09-21 19:03) [3]

Вобщем как я и думал..

> WApp.ActiveDocument.

В корне не верно!
Нужно после открытия документа сделать
WordDoc := WApp.ActiveDocument;и далее работать, только с WordDoc

Дело в том, что после открытия другого документа - он становится активным, сответственно ты работаешь с ненужным тебе док"ом


 
Doctor Deejay ©   (2003-09-22 11:10) [4]

Спасибо огромное!!!!



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

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

Наверх




Память: 0.48 MB
Время: 0.025 c
14-4085
V.exeR
2003-09-15 00:37
2003.10.02
Как поменять сведения в своем profile на этом сайте?


14-4045
Кен
2003-09-14 01:43
2003.10.02
Можно ли развить интуицию ? Если можно, то как ?


14-4125
malkolinge
2003-09-09 17:10
2003.10.02
Мастаки Киевские го на природу на ЭТИХ выходных ?


1-3835
Sunny
2003-09-19 13:39
2003.10.02
COM + потоки


14-4106
otido
2003-09-09 12:16
2003.10.02
Поделитесь опытом.... перенос ВСЕГО с харда на хард....