- •Назначение платформы .Net Framework.
- •Версии платформы .Net
- •Общие концепции синтаксиса языка с#
- •Система типов clr и языка c#. Типы-значения и ссылочные типы
- •Система типов clr и языка c#. Преобразование типов
- •Идентификаторы, ключевые слова и литералы в языке c#
- •Допустимые элементы класса
- •Классы. Модификаторы доступа для элементов и типов
- •Классы. Использование класса
- •Методы. Описание метода. Вызов метода
- •Описание метода
- •Вызов метода
- •12, 13. Интерфейсы в языке c#. Объявление и реализация интерфейсов
- •14. Универсальные шаблоны. Универсальные классы и структуры
- •Универсальные классы и структуры
- •15. Универсальные шаблоны. Ограничения на параметры универсальных типов
- •16. Делегаты в языке с#
- •17. Анонимные методы и лямбда-выражения в языке c#
- •18. Понятие Пространства имен. Применяемые пространства имен в .Net.
- •19. Препроцессорные директивы
- •20. Создание проекта в Visual Studio. Интерфейс среды.
- •21. Настройка внешнего вида и поведения формы. Добавление элементов управления. Категории элементов.
- •22. Создание mdi-приложений. Главное и дочерние окна. Упорядочивание mdi-окон
- •23. Работа с текстовыми файлами. Запись, чтение, открытие, создание.
- •24, 25, 26 Сериализация объектов в .Net.
- •27. Жизненный цикл объектов. Алгоритм «сборки мусора» Жизненный цикл объектов
- •Сборщик мусора
- •28. Жизненный цикл объектов. Финализаторы
- •29. Xml. Правило построения xml-документов Понятие о языке xml
- •Простейший xml-документ
- •30. Создание, сохранение, загрузка xml Создание, сохранение, загрузка xml
- •31. Состав и взаимодействие сборок
- •32 Многопоточное программирование. Класс Thread. Основные свойства класса.
- •33 Многопоточное программирование. Пул потоков
- •34. Синхронизация потоков
- •35, 36, 37. Аспекты безопасности .Net
- •35 Аспекты безопасности .Net. Разрешение на доступ
- •36 Аспекты безопасности .Net. Изолированные хранилища
- •37 Аспекты безопасности .Net. Криптография
- •38. Работа с ключами реестра в .Net.
- •43. Методы доступа к субд.
- •44. Метод доступа ado .Net.
- •45 Работа с элементами управления DataSet.
- •46. Создание базы данных ms sql server.
- •47. Соединение с базой данных. Открытие и закрытие соединения с базой данных.
- •48. Адаптер SqlDataAdapter. Запросы sql.
- •49 Разработка Windows приложений с использованием com объектов
- •50. Работа с com сервером Excel. Запуск и закрытие Excel из приложения на c#. Создание рабочих книг
- •51 Работа с com сервером Excel. Вывод информации в ячейки Excel
- •52 Работа с com сервером Excel. Создание диаграмм
- •53 Работа с com сервером Word. Создание и сохранение документов
- •54 Работа с com сервером Word. Вывод текстовой информации
- •55 Работа с com сервером Word. Работа с таблицами
53 Работа с com сервером Word. Создание и сохранение документов
Рассмотрим создание двух рабочих документов. Для доступа к документам определим глобально объекты Word.Documents и Word.Document.
private Word.Documents worddocuments;
private Word.Document worddocument;
wordapp = new Word.Application();
wordapp.Visible=true;
Object template = Type.Missing;
Object newTemplate = false;
Object documentType = Word.WdNewDocumentType.wdNewBlankDocument;
Object visible = true;
//Создаем документ 1
wordapp.Documents.Add( ref template, ref newTemplate, ref documentType, ref visible);
//сохранение
SaveAs(
ref fileName, //Имя файла
ref fileFormat, //Формат сохраняемого файла
54 Работа с com сервером Word. Вывод текстовой информации
Вывод текста выполняется не просто в параграф, а в диапазон параграфа - объект Range. Объект Range - это непрерывная область документа, включающая позицию начального и конечного символов. Для пустого параграфа или если начальная и конечная позиции диапазона совпадают - Range представляет курсор ввода.В документе можно определить диапазон, вызовом метода Range с передачей ему начального и конечного значений позиций символов (при определении позиции номера символов считаются от 0 и включают все символы, в том числе и не печатные). Выделенный диапазон можно "подсветить", используя метод Select().
Object begin = 0;
Object end = 5;
Word.Range wordrange = worddocument.Range(ref begin, ref end);
wordrange.Select();
Объект Range позволяет выполнить вывод текста в выделенный участок и изменить параметры текста (шрифт, цвет, подчеркивание....).
wordrange.Font.Size=12;
wordrange.Font.Color=Word.WdColor.wdColorRed;
wordrange.Text="Текст который мы выводим в выделенный участок ";
Объект Selection представляет собой текущую выделенную область документа. Все действия, связанные с внесением в документ каких либо частных изменений в Word выполняются применительно к выделенным фрагментам. Программно это выполняется через объект Selection. Аналогично, как и при обычной работе с Word, при программном выводе необходимо вначале выделить фрагмент и, далее, выполнить требуемые действия над данным фрагментом (изменить шрифт, форматирование, напечатать и т.д.). Объект Selection всегда присутствует в документе. Если ничего не выделено, он представляет курсор ввода (insertion point).
Объект Selection может представлять блок, строку или столбец таблицы, курсор ввода, рисунок, фрейм, выделенный текст, или некоторую комбинацию объектов, которые можно определить через свойство Type объекта Selection (wdSelectionBlock, wdSelectionRow, wdSelectionColumn, wdSelectionIP, wdSelectionShape, wdSelectionInlineShape, wdSelectionNormal). Посколько свойства и методы у различных типов объектов Selection различны, то при применении того или иного метода или использования свойства рекомендуется выполнить проверку типа объекта Selection.
55 Работа с com сервером Word. Работа с таблицами
Информация об объектах Table хранится в виде ссылок на таблицы документа в свойстве Tables. Набор ссылок Tables доступен из объектов Document, Selection и Range и даже из объекта Word.Table. Это значит, что и создавать таблицы можно с использованием любого из этих объектов (в любом - применительно к таблицам). Для создания таблиц используется метод Add:
Add(
Word.Range Range, //Объект Range - место формирования таблицы
int NumRows, //Число строк
int NumColumns, //Число столбцов
ref object AutoFitBehavior //Автоподбор ширины столбцов
ref object DefaultTableBehavior,Word //Определяет, изменяет ли автоматически размеры ячеек в таблицах, чтобы они соответствовали содержанию ячеек.
Таблица или Объект Word.Tableт состоит из ячеек - объектов Cell, ссылки на которые хранятся в наборе Cells данной таблицы. Ячейки таблицы считаются упорядоченными по координатам X и Y, нумерация с 1. Следующие строки кода ссылаются на ячейку, расположенную в первой строке и во втором столбце:
Word.Range wordcellrange = worddocument.Tables[1].Cell(1, 2).Range;
wordcellrange=wordtable2.Cell(2,3).Range; Для вывода текста в ячейку достаточно свойству Text объекта Word.Range присвоить значение типа string.
wordcellrange.Text="Строка для вывода";
1
2
3 Для доступа к открытой константе класса применяется синтаксис <имя класса>.<имя константы>.
4 При добавлении объектов типа XAttribute или унаследованных от XNode выполняется клонирование, если эти объекты уже имеют родителя в дереве объектов XML.
