Текущий архив: 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.46 MB
Время: 0.006 c