Курсовая работа: Delphi: работа с MS WORD

Так что можно с помощью переходов строки создать нужное количество элементов, а затем их заполнить:

WordDocument1.Lists.Item(i).Range.Select;

WordApplication1.Selection.Collapse(vcol);

WordApplication1.Selection.InsertAfter(#13);

j:=1;

WordDocument1.Lists.Item(i).ListParagraphs.Item(j).Range.Text:='Item 1';

j:=2;

WordDocument1.Lists.Item(i).ListParagraphs.Item(j).Range.Text:='Item 2';

Это было в предположении, что у нас один элемент списка в заготовке уже есть. Ну вот, в общем-то, и все про текст, списки и картинки

Статистика документов

В данном небольшом материале рассматривается вопрос подсчета статистики файлов *.doc и *.rtf. Такой вопрос у меня возник, когда пришлось сделать небольшую базу данных по учету документов, куда надо было заносить и статистику документа - число знаков, слов и т.п. Открывать каждый раз Word, считать статистику и забивать ее в форму ввода было лень, так что пришла в голову мысль это дело автоматизировать. Информации по данному вопросу найти так и не удалось, так что основным источником знаний служили заголовочный файл Word2000.pas и справка по Visual Basic for Applications. Ну и, конечно, множество разных экспериментов.

Сразу оговорюсь, что я не профессиональный программист, так что в тонкости интерфейсов вникать не будем - сам в них не особо разбираюсь. Потому, не мудрствуя лукаво, просто поместим на форме компоненты WordApplication и WordDocument с палитры Servers. Для работы используются свойства и методы этих компонентов.

Встроенная статистика Word подсчитывает статистику обычного текста, обычных и концевых сносок. Для подсчета статистики используется метод компонента WordDocument ComputeStatistic(). Он имеет один параметр, характеризующий, что именно считать, представляющий из себя шестнадцатеричную константу. Константы описаны в заголовочном файле Word2000.pas, он лежит обычно в /Delphi/Ocx/Servers.

Шестнадцатеричная Символьное обозначение Смысл
$00000000 wdStatisticWords Количество слов
$00000001 wdStatisticLines Количество строк
$00000002 wdStatisticPages Количество страниц
$00000003 wdStatisticCharacters Знаки без пробелов
$00000004 wdStatisticParagraphs Количество разделов
$00000005 wdStatisticCharactersWithSpaces Знаки с пробелами

Это было основное, что надо знать. Ну а теперь по порядку.

Поместив на форму упомянутые компоненты, видим, что свойств и методов у них совсем мало. В первую очередь следует определиться с методом ConnectKind компонента WordApplication. Оно может принимать различные значения, но мы оставим присваемое по умолчанию значение ckRunningOrNew. Это означает, что соединение происходит с уже работающим сервером, при его отсутствии запускается новый. Как правило, это вполне устраивает.

Первым делом откроем документ. Предварительно надо объявить переменную FileName, она будет типа OleVariant, которой присвоим строку с именем файла.

WordApplication1.Connect;

WordApplication1.Documents.Open(FileName,

EmptyParam,EmptyParam,EmptyParam,

EmptyParam,EmptyParam,EmptyParam,

EmptyParam,EmptyParam,EmptyParam,

EmptyParam,EmptyParam);

WordDocument1.ConnectTo(WordApplication1.ActiveDocument);

Обратитевниманиенаколичествопараметров-"пустышек". Их число больше того, которое обычно приводится в книжках. Ну, в моих, во всяком случае. Объясняется это тем, что "книжные" функции предназначены для MS Word 97, а такая запись для работы с Word 2000 и Word XP.

"Plain Text"

Объявив нужное количество переменных типа LongInt (в очень большом файле или при суммировании по нескольким документам в принципе может оказаться больше знаков, чем пределы обычного целого типа), можем уже и приступать к подсчету. Например, посчитаем число слов, знаков с пробелами и без пробелов обычного текста, а также количество страниц в документе. Результаты сохраним соответственно в "длинных" переменных WCount, SCount, CCount, и PCount.

WCount:=WordDocument1.ComputeStatistics($00000000);

CCount:=WordDocument1.ComputeStatistics($00000003);

SCount:=WordDocument1.ComputeStatistics($00000005);

PCount:=WordDocument1.ComputeStatistics($00000002);

К-во Просмотров: 929
Бесплатно скачать Курсовая работа: Delphi: работа с MS WORD