![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как в Word создать таблицу? [Delphi, Windows]
Barloggg © (2006-10-23 17:02:00)в примере KOLWord есть впечатывание текста... это я понял. дальше мне нужно создать таблицу...
а как быть с таблицей.
макрос создания таблицы в ворде (укороченный) выглядит так:
ActiveDocument.Tables.Add Range:=Selection.Range, NumRows:=2, NumColumns:=2
вроде все просто
Но как он должен выглядеть в тексте программы?
max727 (2007-06-28 16:40:00) [1]
program HelloWorld;
uses
KOL, KOLWord;
var W:PWordDocument;
begin
W:=NewWordDocument;
W.ObjInvoke( 'Add', [], nil );
W.ObjName := 'Selection';
W.ObjInvoke( 'TypeText', [ sParam('Hello, Wor(L)d!') ], nil );
W.ObjName := 'Application';
W.ObjPropBool['Visible']:=True;
MsgOK('По идее должен показаться ворд, но его нет!');
W.Free;
end.
что неправильно?
max727 (2007-06-27 18:51:00) [2]люди, а как сделать ворд видимым?
Аид (2007-05-14 05:38:00) [3]просмотрел уже кучу статей но везде под VCL формат т.е.
MsWord := CreateOleObject('Word.Application');
MsWord.Documents.Add(fileName, EmptyParam);
MsWord.Selection.goto(What, Which, Count, Name);
MsWord.Run('NextCell');
под КОЛ же работает только создание/открытие документа, запись текста и выполнение макроса. Кто разобрался в чем грабли?
на метку к примеру не переходит
program Base;
uses
KOL,Windows,KOLword;
var W: PWordDocument;
begin
W := NewWordDocument;
W.ObjName := 'Documents';
W.ObjInvoke( 'Open', [sParam('C:\1.doc')], nil );
W.ObjName := 'Application';
W.ObjInvoke( 'Run', [ sParam('s2') ], nil );
W.ObjName := 'Documents';
W.ObjName := 'Selection';
W.ObjInvoke( 'GoTo', [ sParam('wdGoToBookmark,0,"c1"') ], nil );
W.ObjInvoke( 'TypeText', [ sParam('xXx') ], nil );
W.ObjName := 'Application';
W.ObjInvoke( 'Run', [ sParam('s_exit') ], nil );
W.Free;
end.
Vedun (2006-10-24 17:08:00) [4]Посмотри на delphiworld.narod.ru
Большое собрание статей. Смотри раздел "Технологии" --> "OLE Automation MSOffice". Там около сотни статей на тему, как из Делфи работать с оффисом: создавать документы, вносить в них данные и др. Все это применимо к KOL. Я тут недавно делал программу для некоторых расчетов (на KOL конечно). Она брала данные из Excel. Размер проги получился большой, 130 кб. Но это все равно меньше, чем VCL.
Vedun (2006-10-24 17:07:00) [5]Посмотри на delphiworld.narod.ru
Большое собрание статей. Смотри раздел "Технологии" --> "OLE Automation MSOffice". Там около сотни статей на тему, как из Делфи работать с оффисом: создавать документы, вносить в них данные и др. Все это применимо к KOL. Я тут недавно делал программу для некоторых расчетов (на KOL конечно). Она брала данные из Excel. Размер проги получился большой, 130 кб. Но это все равно меньше, чем VCL.
Barloggg (2006-10-24 10:51:00) [6]ага... вкурил статью
http://www.delphimaster.ru/articles/dbtoword/index.html
Но это в VCl. ну и ладно. для начала сойдет.
но вопрос я не снимаю.
кто может объяснить принцип перевода этого под KOL? а то я пока еще обезьяна с гранатой...
Barloggg (2006-10-24 10:28:00) [7]хмм... без документации не проще.
сам comobj я нашел. но толку?
знает ли кто-нибудь конкретные книжки по работе с вордом из среды программирования? пусть на аглицком.
Vedun (2006-10-23 20:31:00) [8]Проще конечно работать с оффисом через модуль ComObj. Но он, зараза, весит довольно много.
Vladimir Kladov (2006-10-23 17:44:00) [9]:= ?
Barloggg (2006-10-23 17:07:00) [10]А вот полный код создания
ActiveDocument.Tables.Add Range:=Selection.Range, NumRows:=5, NumColumns:= _
3, DefaultTableBehavior:=wdWord9TableBehavior, AutoFitBehavior:= _
wdAutoFitFixed
логично предположить что код должен быть такой
W.ObjName := 'ActiveDocument.Tables';
W.ObjInvoke('Add', [ sParam('Range:=ActiveDocument.Selection.Range, NumRows:=5, NumColumns:=3, DefaultTableBehavior:=wdWord9TableBehavior, AutoFitBehavior:=wdAutoFitFixed') ], nil );
но это не так...
где читать?