Главная страница
    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-22636
MMarat
2002-03-27 12:31
2002.04.08
---|Ветка была без названия|---


3-22526
msc
2002-03-13 23:30
2002.04.08
Уважаемые, помогите!


14-22798
Pete
2002-02-23 11:08
2002.04.08
DelphiX


1-22710
Aleksandr
2002-03-26 16:47
2002.04.08
Как корректно проверить наличие объекта в памяти?


3-22595
s
2002-03-18 09:07
2002.04.08
Помогите с записью в базу SQL 2000!





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