Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

И методические указания




ЛАБОРАТОРНОЕ ЗАДАНИЕ

Внешний вид таблицы

Работа с таблицами в Word

ТЕОРЕТИЧЕСКАЯ ЧАСТЬ

Домашнее задание и методические указания по его выполнению

Используемое оборудование

Содержание работы

Общее описание работы

 

1.1. Цель работы: состоит в изучении принципов создания таблиц в программе Word.

 

Лабораторная работа состоит из домашнего и лабораторного заданий. Домашнее задание заключается в изучении принципов построения таблиц в программе Word. Лабораторное задание включает написание программы на языке Delphi с выполнением всех изученных в домашнем задании данных.

 

 

Для выполнения лабораторной работы используются программно-аппаратные средства: ПЭВМ класса Pentium стандартной конфигурации, цветной монитор с графическим адаптером VGA и выше, объем оперативной памяти не менее 64 Мб, ОС Windows 98 и выше, не менее 40 Mb свободного объема на жестком диске.

 

По методическому руководству ознакомиться с принципами построения таблиц в Microsoft Word с помощью языка программирования Delphi 6.

 

Далее будут рассмотрены вопросы программной работы с таблицами документа Word. Тут могут быть два пути. Первый - если заранее известна структура данных отчета, можно приготовить шаблон, куда в ячейки таблицы затем просто занесем нужные данные. И второй - создание отчета с нуля, создание в документе таблицы, заполнение ее. При этом можно программно добавить или удалить строки и столбцы, объединить или разбить ячейки - почти все, что мы делаем в самом Word'e. Все, что понадобится – компоненты WordApplication и WordDocument с палитры Servers.

Таблицы в документе Word образуют коллекцию Tables. Их количество можно узнать так:

 

tcount:=WordDocument1.Tables.Count;

 

к отдельной таблице обращаемся по ее номеру:

 

i:=1;

WordDocument1.Tables.Item(i)...,

 

где i - целое число. В данном случае мы обращаемся к первой таблице, а вообще i может принимать значения от 1 до WordDocument1.Tables.Count. Если нам необходимо создать таблицу самим, следует поступить так:

 

WordApplication1.ActiveDocument.Tables.Add(WordApplication1.Selection.Range,i,j);

 

Эта таблица - единственное, что будет в документе, так как она заменяет собой указанный в числе параметров объект Range. В данном случае получаем таблицу на i строк и j столбцов. Если уже еcть какой-то текст, который надо сохранить, то в начале снимаем с него выделение и только затем вставляем таблицу:

 

Direction:=0;

WordApplication1.Selection.Collapse(Direction);

WordApplicаtion1.ActiveDocument.Tables.Add(WordApplication1. Selection.Range,1,7);

 

Ну вот, теперь у нас есть таблица. Неважно, содержалась она уже в документе или мы создали ее сами. Посмотрим, что же мы с ней можем сделать. Число столбцов и строк узнаем так:

 

i:=1;

k:=WordDocument1.Tables.Item(i).Columns.Count;

j:=WordDocument1.Tables.Item(i).Rows.Count;

 

Здесь мы опять обратились к первой таблице, но можем работать с любой - надо только правильно указать ее номер. Теперь изменим ширину столбцов или высоту строк:

 

WordDocument1.Tables.Item(i).Columns.Width:=90;

WordDocument1.Tables.Item(i).Rows.Height:=45;

 

Аналогично можем задавать размеры отдельных строк и столбцов:

 

WordDocument1.Tables.Item(i).Columns.Item(j).Width:=90;

WordDocument1.Tables.Item(i).Rows.Item(j).Height:=45;

 

Здесь j - целое число, начинается от 1. Можем обратиться к отдельной ячейке, прочитать или изменить содержащийся в ней текст:

 

WordDocument1.Tables.Item(i).Cell(j,k).Range.Text;

Здесь j и k целые переменные, изменяются от 1 до числа строк или столбцов соответственно. Присвоив данной величине строковое выражение, увидим, что оно появилось в ячейке (j,k). Несколько непривычно, но в таблицах Word на первом месте стоит именно номер строки. Можем также задать программно отступы от края ячеек, как для всей таблицы сразу, так и для отдельной ячейки:

 

WordDocument1.Tables.Item(i).TopPadding:=10;

WordDocument1.Tables.Item(i).BottomPadding:=10;

WordDocument1.Tables.Item(i).RightPadding:=10;

WordDocument1.Tables.Item(i).LeftPadding:=10;

 

В данном случае мы задали одинаковые отступы для всей таблицы, но аналогичные четыре свойства есть и у отдельной ячейки. Выделить нужную ячейку, столбец или строку можем следующим образом:

 

WordDocument1.Tables.Item(i).Cell(j,k).Select;

WordDocument1.Tables.Item(i).Columns.Item(j).Select;

WordDocument1.Tables.Item(i).Rows.Item(j).Select;

 

Кроме того, можем подогнать размеры ячеек по содержимому. Для этого вызываем метод AutoFit:

 

WordDocument1.Tables.Item(i).Columns.AutoFit;

 

Добавить строку или столбец также не представляет сложностей:

 

WordDocument1.Tables.Item(i).Columns.Add(EmptyParam);

WordDocument1.Tables.Item(i).Rows.Add(EmptyParam);

Мы добавили строку внизу и столбец справа. Теперь вставим столбец в определенном месте таблицы:

 

var i, j: Integer;

varcol: OleVariant;

...

j:=2;

varcol:=WordDocument1.Tables.Item(i).Columns.Item(j);

WordDocument1.Tables.Item(i).Columns.Add(varcol);

Совершенно аналогично поступаем и со строками. Вообще в скобках указаны строка или столбец, перед которыми происходит вставка. Однако явно указать в скобках почему-то нельзя, надо через переменную.

 

Теперь про объединение ячеек. Довольно просто:

 

WordDocment1.Tables.Item(i).Cell(j,k).Merge(WordDocument1.Tables. Item(i).Cell(j,k+1));

 

Мы объединили две соседние по горизонтали ячейки (j,k) и (j,k+1). При этом получается, что большая ячейка как бы имеет два "адреса". Аналогично надо действовать и при объединении по вертикали. Все точно так же, но с нумерацией ячеек после объединения двух соседних по вертикали начинается путаница, и при попытке заполнить таблицу возникают ошибки.

Теперь разобьем ячейки.

 

varrow:=1;

varcol:=2;

WordDocument1.Tables.Item(i).Cell(j,k).Split(varrow, varcol);

 

Здесь мы разбили ячейку (j,k) на две по горизонтали. Переменные varcol и varrow типа OleVariant это количество столбцов и строк, на которые разбивается данная ячейка. Здесь снова с нумерацией начинается чехарда, так что этот вопрос разбиения и объединения ячеек представляет скорее чисто теоретический интерес. В таких случаях лучше заранее приготовить шаблоны.

 

Теперь для примера удалим из таблицы второй столбец или третью строку:

 

WordDocument1.Tables.Item(i).Columns.Item(2).Delete;

WordDocument1.Tables.Item(i).Rows.Item(3).Delete;

 

 

Простейшая таблица, конечно, смотрится не очень. Теперь посмотрим, как мы можем ее приукрасить. При желании все сделать посимпатичнее можем использовать текстуру. Выглядеть это будет так:

 

WordDocument1.Tables.Item(i).Cell(j,k).Shading.Texture:=wdTexture20Percent;

 

Совершенно аналогично можем сделать текстуру в целом столбце или строке:

 

WordDocument1.Tables.Item(i).Columns.Item(j).Shading.Texture:=wdTexture20Percent;

WordDocument1.Tables.Item(i).Rows.Item(j).Shading.Texture:=wdTexture20Percent;

 

Текстура задается шестнадцатеричной константой, список констант можно найти заголовочном файле Word2000.pas. Можно их использовать как в шестнадцатеричном, так и в символьном виде. Чтобы не загромождать материал, значения констант будут выноситься в "Приложение" в конце статьи. Сразу оговорюсь, что заливка будет черно-белая или в шкале серого. Заливку определенным цветом пока так и не удалось обнаружить. Самая первая константа означает отсутствие заливки. Ее можно использовать, чтобы отменить текстуру.

Чтобы выделить что-нибудь важное, можем изменить шрифт текста в определенной ячейке. Для этого воспользуемся свойствами объекта Selection:

 

WordDocument1.Tables.Item(i).Cell(1,2).Select;

WordApplication1.Selection.Font.Color:=clRed;

WordApplication1.Selection.Font.Italic:=1;

WordApplication1.Selection.Font.Size:=16;

 

В данном примере мы сделали цвет текста в ячейке (1,2) красным, выделили его курсивом и изменили размер на 16. Кроме того, можем сделать шрифт подчеркнутым, перечеркнутым и т.п. (Точно также можно менять шрифт в любом выделенном фрагменте текста).

Еще один способ изменить внешний вид таблицы - использовать стилевые шаблоны Word'a. У таблицы имеется метод AutoFormat, который меняет внешний вид таблицы в соответствии с некими предопределенными стилями. В заголовочном файле он описан следующим образом:

 

procedure AutoFormat(

var Format: OleVariant;

var ApplyBorders: OleVariant;

var ApplyShading: OleVariant;

var ApplyFont: OleVariant;

var ApplyColor: OleVariant;

var ApplyHeadingRows: OleVariant;

var ApplyLastRow: OleVariant;

var ApplyFirstColumn: OleVariant;

var ApplyLastColumn: OleVariant;

var AutoFit: OleVariant

);

 

Первый параметр представляет из себя собственно константу, задающую стиль, а остальные показывают, будут ли требования нового стиля применяться конкретно к границам, тени, шрифту, цвету, первой строке, последней строке, первому столбцу и последнему столбцу. Последний параметр в списке указывает, надо ли подгонять размер ячеек по их содержимому - лучше самому потом вызвать AutoFit.

Как показала практика, работают только два первых параметра. Все остальные заменяем "пустышками". То есть это скорее будет просто способ изменения стиля границ, но и на том спасибо. Некоторые стили таблиц даны в приложении, полный же список ищите в заголовочном файле. Вместо второго параметра ставим вариантную переменную, которой присваиваем wdTableFormatApplyBorders. То есть на практике это выглядит так:

 

var tformat, tappbrd: OleVariant;

...

tformat:=wdTableFormatWeb3;

tappbrd:=wdTableFormatApplyBorders;

i:=1;

WordDocument1.Tables.Item(i).AutoFormat(tformat, tappbrd, EmptyParam, EmptyParam,

EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam);

 

 




Поделиться с друзьями:


Дата добавления: 2015-03-29; Просмотров: 372; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.029 сек.