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

Вниз

Документ ms word овского типа... Как его создать?   Найти похожие ветки 

 
Андрей Ваганов   (2002-12-03 20:08) [0]

Всем привет!!!

Кто знает подскажите плз!
Как создать документ ms word"овского типа, чтобы можно было создавать объекты типа линия, текст итд, а потом их тягать и перетягивать в пределах листа? Еще нужно получать координаты этих объектов и сохранять всю кухню в файло(ну и читать ессно).
Укажите пожалуйста направление кода копать! (...конечно если кто сталкивался с такой задачей)
Если можно поведайте его(документа аля ms word)структуру.

Заранее благодарю.
Андрей Ваганов


 
Bsl   (2002-12-04 08:03) [1]

С помощью OLE ms word.
CreateOLEObject (кажется).

<Variant>:=CreateOLEObject("Word.Application");

С этим <variant> работаешь как с объектом Application в Visual Basic for MS Office.


 
Darius   (2002-12-04 10:53) [2]

а как сделать так што взять из Word cтрочку?


 
Dizzy   (2002-12-04 11:33) [3]

Вот кусок кода, который записывает данные в Word. Чтение примерно так же делается.

uses
ComObj, ActiveX;

procedure TFormOff.BtnWordClick(Sender: TObject);
var
Bookmark: TBookmark;
RangeW: Word97.Range;
v1: Variant;
ov1: OleVariant;
Row1: Word97.Row;
begin
WordDocument1.Activate;
// insert title
WordDocument1.Range.Text := "American Capitals from " + Table1.TableName;
WordDocument1.Range.Font.Size := 14;
// disable the UI
Table1.DisableControls;
try
// store the current position
Bookmark := Table1.GetBookmark;
try
// scan the database table
Table1.First;
while not Table1.EOF do
begin
// send the two fields
WordDocument1.Range.InsertParagraphAfter;
WordDocument1.Paragraphs.Last.Range.Text :=
Table1.FieldByName ("Name").AsString + #9 +
Table1.FieldByName ("Capital").AsString;
Table1.Next;
end;
finally
// go back to the bookmark and destroy it
Table1.GotoBookmark (Bookmark);
Table1.FreeBookmark (Bookmark);
end;
finally
// re-enable the controls
Table1.EnableControls;
end;
RangeW := WordDocument1.Content;
v1 := RangeW;
v1.ConvertToTable (#9, 19, 2);
Row1 := WordDocument1.Tables.Item(1).Rows.Get_First;
Row1.Range.Bold := 1;
Row1.Range.Font.Size := 30;
Row1.Range.InsertParagraphAfter;
ov1 := " ";
Row1.ConvertToText (ov1);
end;


 
NetKnight ©   (2002-12-04 16:02) [4]

А есть возможность сохранять в Excel or Word формате без онного ? Т.к. запускать через ОЛЕ саму офисную программу - дело ресурсоёмкое и медленное, к тому же я наблюдал некоторые глюки.
Я видел компоненты, которые такое могут, но у них исходников небыло.. :(


 
Андрей Ваганов   (2002-12-04 19:24) [5]

...OLE это гуд, но мне надо так, чтобы я на форме или в некоторой её части мог нарисовать например линию или строку (...итд) и была возможность её тягать по форме или некоторой её части! (без вариантов редакции в word"е)


 
Андрей Ваганов   (2002-12-05 14:12) [6]

...так что, есть еще мнения?


 
Ka$peR   (2003-01-27 12:27) [7]

RangeW: Word97.Range;
Row1: Word97.Row;

Что это за тип?


 
AlexKniga ©   (2003-01-27 14:07) [8]

Если очень хочетца делать документы в формате Word без OLE
M$ структуру вордовских документов не открывает, но в инете описания найдешь.
Мне проходилось делать .doc без OLE (у клиентов были слабые тачки). Дело это неблагодарное.



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

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

Наверх




Память: 0.48 MB
Время: 0.016 c
3-63985
Кирилл
2003-02-28 11:20
2003.03.20
сортировка записей в базе данных


8-64233
brestmarket
2002-12-07 11:24
2003.03.20
Как определить максимально возможное значение уровня звука?


3-63944
vixic
2003-03-03 18:15
2003.03.20
ДАЖЕ НЕЗНАЮ: Table DLL DataSource!


1-64085
Reals
2003-03-07 18:42
2003.03.20
Как добавить пункт меню в выпадающее по умолчанию меню TMemo?


3-63976
cherox
2003-02-27 12:24
2003.03.20
TADOQuery