Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.10.02;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.01 c
1-3982
Balkon
2003-09-19 11:32
2003.10.02
Как


14-4043
саша2
2003-09-16 10:11
2003.10.02
где форум?


6-4034
iPasha
2003-08-05 15:47
2003.10.02
Кодировка KOI-8R в Indy


1-3946
pum5a
2003-09-19 23:35
2003.10.02
Хитро завернутый проект с кучей dll-ок


3-3781
Plt
2003-09-11 13:08
2003.10.02
Interbase





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский