Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.06.2011, 18:58   #11
Maralka
Новичок
Джуниор
 
Регистрация: 17.06.2011
Сообщений: 2
По умолчанию

как добавить текст после таблицы?
Maralka вне форума Ответить с цитированием
Старый 17.06.2011, 19:10   #12
Maralka
Новичок
Джуниор
 
Регистрация: 17.06.2011
Сообщений: 2
По умолчанию

пишу MSWord.Selection.TypeText('Текст');
а текст записывается в таблицу. Подскажите пожалуйста что сделать?
Maralka вне форума Ответить с цитированием
Старый 23.09.2011, 23:22   #13
cat2899
 
Регистрация: 23.09.2011
Сообщений: 5
По умолчанию

Подключение.

Для подключения к Excel и работы с ним нам понадобится переменная типа Variant:
Excel:Variant;

Далее создаем OLE объект:
Excel:=CreateOleObject('Excel.Appli cation');

Добавляем новую книгу:
Excel.Workbooks.Add;

Показываем Excel:
Excel.Visible:=true;

Так же нам понадобятся константы:
const
xlContinuous=1;
xlThin=2;
xlTop = -4160;
xlCenter = -4108;
Текст ячеек.

Теперь до любой ячейки мы можем добраться следующим образом:
Excel.ActiveWorkBook.WorkSheets[1].Cells[1, 2]:='Текст ячейки (1,2)';
Объект Range, выделение диапазона, объединение ячеек, выравнивание.

Представьте такую ситуацию: необходимо объединить несколько ячеек и выровнять текст в них по центру.

Выделяем:
Excel.ActiveWorkBook.WorkSheets[1].Range['A1:G1'].Select;

Объединяем:
Excel.ActiveWorkBook.WorkSheets[1].Range['A1:G1'].Merge;

И выравниваем:
Excel.Selection.HorizontalAlignment :=xlCenter;
Границы и перенос по словам.

Для начала выделяем нужный диапазон а затем...

Показываем границы:
Excel.Selection.Borders.LineStyle:= xlContinuous;
Excel.Selection.Borders.Weight:=xlT hin;

И включаем перенос по словам:
Excel.Selection.WrapText:=true;
Пример.

Пример можно скачать здесь
Параметры страницы.

Начнем с полей страницы. Во первых для того чтобы добраться до параметров страницы у листа Excel имеется свойство объект PageSetup его мы и будем использовать. Для установки размеров полей необходимо изменить соответствующие свойства PageSetup, вот эти свойства:
LeftMargin - Левое поле
RightMargin - Правое поле
TopMargin - Верхнее поле
BottomMargin - Нижнее поле

Значение размеров полей необходимо указывать в пикселях, к чему мы не очень привыкли, поэтому воспользуемся функцией InchesToPoints объекта Application, которая переводит значение в дюймах в значение в пикселях. Теперь напишем процедуру которая подключит Excel и установит поля равные 0.44 дюйма (приблизительно 1 см):
procedure Connect;
var
Excel:Variant;
begin
Excel:=CreateOleObject('Excel.Appli cation');
Excel.Workbooks.Add;

Excel.ActiveSheet.PageSetup.LeftMar gin:= Excel.Application.InchesToPoints(0. 44);
Excel.ActiveSheet.PageSetup.RightMa rgin:= Excel.Application.InchesToPoints(0. 44);
Excel.ActiveSheet.PageSetup.TopMarg in:= Excel.Application.InchesToPoints(0. 44);
Excel.ActiveSheet.PageSetup.BottomM argin:= Excel.Application.InchesToPoints(0. 44);
end;

Иногда полезно уметь установить и ориентацию страницы:
Excel.ActiveSheet.PageSetup.Orienta tion:= 2;

Здесь значение ориентации = 2, означает альбомную, при книжной ориентации присвойте Orientation значение 1.

Вы наверное не раз встречали такой отчет в котором таблица с большим количеством строк размещается на нескольких страницах в таких случаях очень удобны сквозные строки, они печатаются на каждой странице отчета:
Excel.ActiveSheet.PageSetup.PrintTi tleRows:='$2:$3';

Здесь мы указываем вторую и третью строки для печати на каждой странице.
Шрифты и цвета.

Для установки шрифта и размера текста выделите нужный диапазон и установите свойство Name объекта-свойства Font объекта Selection или свойство Size для изменения размера:
Excel.ActiveWorkBook.WorkSheets[1].Range['F1'].Select;
Excel.Selection.Font.Name:='Courier New';
Excel.Selection.Font.Size:=18;

Если Вы хотите установить жирный или, например, наклонный стиль написания текста установите соответствующие свойства:
Excel.ActiveWorkBook.WorkSheets[1].Range['G1'].Select;
Excel.Selection.Font.Bold:=true; // Для жирного текста
Excel.Selection.Font.Italic:=true; // Для наклонного текста

Для указания цвета текста измените свойство ColorIndex все того же объекта Font:
Excel.ActiveWorkBook.WorkSheets[1].Range['A1'].Select;
Excel.Selection.Font.ColorIndex:=3;

Вот несколько индексов цветов:
Индекс - Цвет
0 - Авто
2 - Белый
3 - Красный
5 - Синий
6 - Желтый
10 - Зеленый

Для изменения цвета фона ячейки используйте объект Interior свойства Selection:
Excel.ActiveWorkBook.WorkSheets[1].Range['H1'].Select;
Excel.Selection.Interior.ColorIndex :=3; // Цвет
Колонтитулы.

Для добавления колонтитула к документу достаточно указать его содержание:
Excel.ActiveSheet.PageSetup.LeftFoo ter:='Левый нижний колонтитул';
Excel.ActiveSheet.PageSetup.CenterF ooter:='Центральный нижний колонтитул';
Excel.ActiveSheet.PageSetup.RightFo oter:='Правый нижний колонтитул';
Excel.ActiveSheet.PageSetup.LeftHea der:='Левый верхний колонтитул';
Excel.ActiveSheet.PageSetup.CenterH eader:='Центральный верхний колонтитул';
Excel.ActiveSheet.PageSetup.RightHe ader:='Правый верхний колонтитул';

Для изменения размера шрифта добавьте к колонтитулу управляющий символ "&" и размер шрифта:
Excel.ActiveSheet.PageSetup.LeftFoo ter:='&7Левый нижний колонтитул';
cat2899 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Экспорт в Word из Memo Jene4ka Общие вопросы Delphi 5 20.10.2016 10:42
экспорт набора данных из бд в word kate158 Общие вопросы Delphi 9 22.11.2013 15:27
Экспорт из StringGrid в MS Office Excel Kamikadze_666 Общие вопросы C/C++ 0 26.03.2009 08:53
экспорт в word AD_min Общие вопросы Delphi 4 05.12.2008 14:17
Экспорт в Word Constellation БД в Delphi 5 15.04.2008 18:47