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

Вниз

как быть?   Найти похожие ветки 

 
mor   (2002-04-25 14:22) [0]

Здравствуйте!
Жизнь заставила сделать некую программу... Имеется некоторый
юридический документ в ворде 2000, формат которого выверен до
миллиметра и изменениям не подлежит. Нужно, что-бы пользователь
набирал данные, а они вставлялись в поля того
документа. Подскажите, как мне это все смастерить? Глупый, конечно
вопрос, но я не специалист в этой области. Спасибо!


 
PaRL ©   (2002-04-25 16:07) [1]

По-моему Delphi не работает с вордом... хотя я не знаток.
> Глупый, конечно
> вопрос
Да нет.


 
SPeller ©   (2002-04-25 16:18) [2]

На сколько я знаю Office это надо делать через элементы управления в самом документе - текстовые поля и программировать их там же. Наверно можно как-то через другие программы хуков понаставить тучу или ещё чего-нибудь, но это геморрой полнейший.
Полазь по справке в ворде по VB и посмотри как чего делается.
Если знаешь VB то сильно трудным это не окажется.


 
Song ©   (2002-04-25 16:19) [3]

Работает.
CreateOLEObject()


 
kalinka   (2002-05-07 16:22) [4]

Я делала так:
Создала в Word"е шаблон документа. Затем, в места, куда надо данные вставлять, написала свои переменные, в начале которых стоит знак @.

Var Template, OrgFileName : OleVariant;
WrdApp, WrdDoc : OleVariant;
.....
WrdApp := CreateOLEObject("Word.Application");
WrdApp.Documents.Add(Template, EmptyParam);
WrdDoc := WrdApp.ActiveDocument;
WrdApp.Visible := False;
......
//Skidka, NDS, Srok_Opl и т.д. - переменные типа String
InDoc(WrdApp, "@Skidka", Skidka);
InDoc(WrdApp, "@NDS", NDS);
InDoc(WrdApp, "@Srok_Opl", Srok_Opl);
.............
WrdDoc.SaveAs(MyFileName);
......

где InDoc - это:

procedure InDoc(Wa: OleVariant; FText, WText : String);
Var FindText, WriteText : OleVariant;
Begin
FindText := FText;
WriteText := Trim(WText);
Wa.Selection.Find.Wrap := wdFindContinue;
Wa.Selection.Find.Execute(FindText, EmptyParam, EmptyParam, EmptyParam, EmptyParam,
EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam);
If Wa.Selection.Find.Found Then
Begin
Wa.Selection.Font.ColorIndex := wdRed;
If WriteText <> "" Then
Wa.Selection.TypeText(WriteText)
Else Wa.Selection.TypeText(" ");
End;
End;
Вот, в принципе, и всё.



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

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

Наверх




Память: 0.47 MB
Время: 0.017 c
4-64871
alexec
2002-03-19 06:13
2002.05.20
Процессы


3-64457
kronprince
2002-04-24 17:02
2002.05.20
Странный глюк ClientDataSet.Locate() - не локатит


1-64677
anod
2002-05-06 00:26
2002.05.20
TLISTVIEW


14-64815
LazorenkoX
2002-04-11 16:53
2002.05.20
Воспоминания... autoexec.bat or config.sys?


3-64476
Юляша
2002-04-21 08:25
2002.05.20
Каскадное удаление