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

Вниз

Как в Word вставить таблицу?   Найти похожие ветки 

 
andr   (2002-03-26 14:52) [0]

Как в Word вставить таблицу и заполнить её значениями?
Соединение с Word с помощью TWordApplication и TWordDocument.
Приведите, если не затруднит, небольшой пример.


 
aus   (2002-03-26 15:16) [1]

Воспользуйся поиском по конференции, там все есть.


 
andr   (2002-03-26 15:31) [2]

там есть примеры для Dlphi 1 и т.п.
А надо для соединения с Word с помощью TWordApplication и TWordDocument.


 
Толик   (2002-03-26 16:23) [3]

Сделать это можно по разному. Как вариант:

uses
Word2000;//этот файл лежит скорее всего в ..Delphi6/Ocx/Servers

procedure TForm1.Button2Click(Sender: TObject);
var
Template, OpenAsTemplate, DefaultTableBehavior, AutoFitBehavior, Unit_, Count, MoveType: OleVariant;
WordDocs: Documents;
WordDoc: _Document;
Range: Word2000.Range;
WordTables: Tables;
WordSel: Selection;
begin
WordApp := CoWordApplication.Create();
Template := "Normal";
OpenAsTemplate := FALSE;
WordDocs := WordApp.Documents;
WordDoc := WordDocs.AddOld(Template, OpenAsTemplate);
Range := WordDoc.Range(EmptyParam, EmptyParam);
WordTables := WordDoc.Tables;
DefaultTableBehavior := wdWord9TableBehavior;
AutoFitBehavior := wdAutoFitFixed;
WordTables.Add(Range, 10, 3, DefaultTableBehavior, AutoFitBehavior);
WordSel := WordApp.Selection;
WordSel.TypeText("некий текст");
Unit_ := wdCharacter;
Count := 2;
MoveType := wdMove;
WordSel.MoveRight(Unit_, Count, EmptyParam);
WordSel.TypeText("ещё какой-то текст");
Unit_ := wdLine;
Count := 1;
WordSel.MoveDown(Unit_, Count, MoveType);
WordSel.TypeText("а вот и ещё данные");
WordApp.Visible := TRUE;
end;

Сразу хочу предупредить, что этот пример совсем не оптимизирован, т.к. был написан прямо сходу. Он был написан на Delphi6 для Office2000.

А вообще совет на будущее: открываешь Ворд, выбираешь пункт меню Сервис-Макрос-Начать_запись. Потом делаешь в в Ворде всё, что ты хочешь, затем выбираешь пункт меню Сервис-Макрос-Макросы, выбираешь свой макрос, открываешь его в редакторе VB и смотришь, как все твои действия понимает Ворд. В Делфях пишешь точно так же, в смысле получаешь интерфейсы и вызываешь нужные ф-и. Названия их как правило соответствуют тому, что написано в редакторе VB.


 
AFROLOV   (2002-03-26 16:29) [4]

Можно и без TWordApplication
Var
MSWord:Variant;
..
begin
MSWord:=CreateOleObject("Word.Application");
...

MSWord.ActiveDocument.Tables.Add(MSWord.ActiveDocument.Selection.Range,4,3,1,1);//Создание таблицы 4х3

MSWord.ActiveDocument.Tables(1).Cell(1, 1).Range.InsertAfter ("Cell 1,1")//Заносим текст в ячейку таблицы

end;

Как работать с таблицами посмотри в справке по VBA.
А так же юзай MacroRecorder. (Он за тебя почти всю работу делать будет.)




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

Форум: "Основная";
Текущий архив: 2002.04.08;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.005 c
1-22623
[HDD]John
2002-03-27 17:16
2002.04.08
Кстати о SendKeys ....


14-22826
-=CrazyFish=-
2002-02-28 15:48
2002.04.08
Linux


7-22847
Херувим
2001-12-29 13:29
2002.04.08
Как определить номер железа


14-22815
Andrey
2002-02-27 12:41
2002.04.08
Востановление файлов


3-22524
Dmitiy
2002-03-13 13:28
2002.04.08
Перенос данных из таблицы Dbase





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