- •11. Объектная модель Excel
- •11.1. Работа с книгами
- •11.1.1. Создание новой книги
- •11.1.2. Открытие существующей книги
- •11.1.3. Закрытие книг
- •11.1.4. Сохранение открытой книги
- •11.1.5. Получение и установка пути к файлу книги по умолчанию
- •11.1.6. Отображение диалогового окна для открытия файлов
- •11.2. Работа с листами
- •11.2.1. Добавление новых листов
- •11.2.6. Предварительный просмотр и печать листов
- •11.2.7. Перемещение листов в книгах
- •11.2.8. Создание и удаление групп на листахExcel
- •11.2.9. Изменение форматирования строк листа
- •11.2.10. Копирование данных и форматирование по листам
- •11.2.11. Проверка орфографии на листах
- •11.2.12. Программная сортировка данных
- •11.3. Работа с диапазонами
- •11.3.1. Ссылки на диапазоны
- •11.3.2. Автоматическое заполнение диапазонов
- •11.3.3. Хранение и извлечение значений дат в диапазонах
- •11.3.4. Применение стилей к диапазонам и их отмена
- •11.3.5. Поиск текста в диапазоне ячеек
- •11.3.6. Применение цвета к тексту в диапазоне ячеек
- •11.3.7. Программное выполнение вычислений
- •11.4. Работа с ячейками
- •11.5. Структурирование вExcel
11.1.1. Создание новой книги
Dim newWorkbook As Excel.Workbook = _
Me.Application.Workbooks.Add()
11.1.2. Открытие существующей книги
Me.Application.Workbooks.Open("C:\YourPath\YourWorkbook.xls")
11.1.3. Закрытие книг
– в проекте уровня документа:
Globals.ThisWorkbook.Close(SaveChanges:=False)
– в проекте уровня приложения:
Me.Application.ActiveWorkbook.Close(SaveChanges:=False)
или
Me.Application.Workbooks("NewWorkbook.xls").Close(SaveChanges:=False)
11.1.4. Сохранение открытой книги
– сохранение книги, которая ранее уже сохранялась, и ее имя и место сохранения изменять не нужно:
'В проекте уровня документа:
Me.Save()
или
'В проекте уровня приложения:
Me.Application.ActiveWorkbook.Save()
– сохранение книги, которая ранее не сохранялась, и при сохранении можно задать имя и место сохранения файла:
'В проекте уровня документа:
Me.SaveAs("C:\Test\Book1.xml")
или
'В проекте уровня приложения:
Me.Application.ActiveWorkbook.SaveAs("C:\Book1.xml")
– сохранение копии книги в файле, не изменяя открытую книгу в памяти:
'В проекте уровня документа:
Me.SaveCopyAs("C:\Test\Book1.xls")
или
'В проекте уровня приложения:
Me.Application.ActiveWorkbook.SaveCopyAs("C:\Book1.xls")
11.1.5. Получение и установка пути к файлу книги по умолчанию
System.Windows.Forms.MessageBox.Show( _
Me.Application.DefaultFilePath) 'Получение
Me.Application.DefaultFilePath = "C:\temp" 'Установка
11.1.6. Отображение диалогового окна для открытия файлов
With Me.Application.FileDialog( _
Microsoft.Office.Core.MsoFileDialogType.msoFileDialogOpen)
.AllowMultiSelect = True
.Filters.Clear()
.Filters.Add("Excel Files", "*.xls;*.xlw")
.Filters.Add("All Files", "*.*")
If .Show = True Then
.Execute()
End If
End With
11.2. Работа с листами
Таблица 2. Основные методы, свойства и события класса Worksheet(http://msdn.microsoft.com/ru-ru/library/microsoft.office.tools.excel.worksheet_members.aspx)
Имя |
Описание |
Методы |
|
Activate |
Делает текущий лист активным |
CalculateMethod |
Производит вычисление формул на рабочем листе |
ChartObjects |
Возвращает объект, представляющий либо отдельную внедренную диаграмму (объект Microsoft.Office.Interop.Excel.ChartObject), либо коллекцию всех внедренных диаграмм (коллекция Microsoft.Office.Interop.Excel.ChartObjects) на рабочем листе |
CheckSpelling |
Проверка орфографии на рабочем листе |
CircleInvalid |
Помечает кружками недопустимые значения на рабочем листе |
ClearCircles |
Снимает кружки с недопустимых значений на рабочем листе |
Copy |
Копирует рабочий лист в другое местоположение в рабочей книге |
Delete |
Удаляет базовый объект Microsoft.Office.Interop.Excel.Worksheet, но не удаляет ведущий элемент. Настоятельно рекомендуется не использовать данный метод |
ExportAsFixedFormat |
Экспортирует в файл указанного формата |
Move |
Перемещает рабочий лист в другое местоположение в рабочей книге |
Paste |
Вставляет в рабочий лист содержимое буфера обмена |
PasteSpecial |
Вставляет в рабочий лист содержимое буфера обмена с использованием указанного формата. Данный метод используется для вставки данных из других приложений или вставки данных в определенном формате |
PrintOut |
Печать рабочего листа |
PrintPreview |
Представляет предварительный просмотр рабочего листа, как он бы выглядел при печати |
Protect |
Защищает рабочий лист от изменений |
ResetAllPageBreaks |
Сброс всех разрывов страницы на указанном рабочем листе |
SaveAs |
Сохраняет изменения в рабочем листе в другой файл |
Select |
Выделение рабочего листа |
SetBackgroundPicture |
Задает фоновое изображение для рабочего листа |
ShowAllData |
Делает все строки фильтруемого списка видимыми. Если используется автофильтрация, вызов данного метода приводит к изменению стрелок на стрелки "Все" |
ShowDataForm |
Отображение формы данных, связанной с рабочим листом |
Unprotect |
Снимает защиту с рабочего листа. Если на рабочем листе нет защиты, этот метод не работает |
Свойства |
|
Application |
Данное свойство возвращает объект Microsoft.Office.Interop. Excel.Application, представляющий приложение Microsoft Excel |
AutoFilter |
Получает значение Microsoft.Office.Interop.Excel.AutoFilter, если фильтрация включена. Получает значение nullNothingnullptrссылкаnull(Nothingв Visual Basic), если фильтрация выключена |
AutoFilterMode |
Возвращает или задает значение, определяющее отображение стрелок раскрывающихся списков автофильтрации на рабочем листе |
Cells |
Возвращает объект Range, представляющий все ячейки рабочего листа (а не только используемые в данный момент ячейки) |
CircularReference |
Возвращает объект Range, представляющий диапазон, который содержит первую циклическую ссылку на рабочем листе, либо возвращает nullNothingnullptr ссылка null (Nothing в Visual Basic), если на рабочем листе нет циклических ссылок |
Columns |
Возвращает объект Range, представляющий все столбцы на рабочем листе |
ConsolidationFunction |
Возвращает код функции для текущей консолидации |
ConsolidationOptions |
Возвращает массив Arrayпараметров консолидации, состоящий из трех элементов |
ConsolidationSources |
Возвращает строковый массив Arrayс именами исходных листов и диапазонов для текущей консолидации рабочего листа |
Controls |
Получает коллекцию элементов управления, содержащихся на рабочем листе |
Creator |
Возвращает значение, указывающее на приложение, в котором был создан рабочий лист |
DisplayPageBreaks |
Возвращает или задает значение, определяющее отображение на рабочем листе разрывов страниц (установленных вручную или автоматически) |
EnableCalculation |
Возвращает или задает значение, определяющее, будет ли Microsoft Excel производить автоматический перерасчет рабочего листа при необходимости |
EnableOutlining |
Возвращает или задает значение, определяющее отображение символов структуры при использовании защиты только пользовательского интерфейса |
EnableSelection |
Возвращает или задает значение, определяющее ячейки на листе, которые могут быть выделены |
FilterMode |
Возвращает значение, указывающее, находится ли рабочий лист в режиме фильтрации |
Hyperlinks |
Возвращает коллекцию Microsoft.Office.Interop.Excel.Hyperlinks, представляющую гиперссылки на диапазон или рабочий лист |
Index |
Возвращает номер индекса рабочего листа в пределах коллекции рабочих листов |
ListObjects |
Возвращает коллекцию объектов Microsoft.Office.Interop.Excel.ListObjectна рабочем листе |
Name |
Возвращает или задает имя рабочего листа |
Next |
Возвращает объект Microsoft.Office.Interop.Excel.Worksheet, представляющий следующий лист |
Outline |
Возвращает объект Microsoft.Office.Interop.Excel.Outline, представляющий структуру рабочего листа |
PageSetup |
Возвращает объект Microsoft.Office.Interop.Excel.PageSetup, содержащий все параметры настройки страницы для рабочего листа |
Previous |
Возвращает объект Microsoft.Office.Interop.Excel.Worksheet, представляющий предыдущий лист |
ProtectContents |
Возвращает значение, которое указывает на наличие защиты содержимого рабочего листа (отдельных ячеек) |
ProtectDrawingObjects |
Возвращает значение, которое указывает на наличие защиты фигур в объекте |
Protection |
Возвращает объект Microsoft.Office.Interop.Excel.Protection, представляющий параметры защиты рабочего листа |
QueryTables |
Возвращает коллекцию Microsoft.Office.Interop.Excel.QueryTables, представляющую все таблицы запросов на рабочем листе |
Range |
Возвращает объект Microsoft.Office.Interop.Excel.Range, представляющий ячейку или диапазон ячеек |
Rows |
Возвращает объект Range, представляющий все строки на рабочем листе |
ScrollArea |
Возвращает или задает диапазон, в котором разрешена прокрутка, в виде ссылки на диапазон в формате A1 |
Shapes |
Возвращает объект Microsoft.Office.Interop.Excel.Shapes, представляющий все фигуры на рабочем листе |
Sort |
Возвращает отсортированные значения в текущем рабочем листе |
StandardHeight |
Возвращает стандартную высоту (по умолчанию) в пунктах всех строк на рабочем листе |
StandardWidth |
Возвращает или задает стандартную ширину (по умолчанию) всех столбцов на рабочем листе |
UsedRange |
Возвращает объект Microsoft.Office.Interop.Excel.Range, который представляет все ячейки, содержащие значение на данный момент |
Visible |
Возвращает или задает значение Microsoft.Office.Interop.Excel. XlSheetVisibility, указывающее на то, является ли объект видимым |
События |
|
ActivateEvent |
Происходит при активации рабочего листа |
BeforeDoubleClick |
Происходит при двойном щелчке по листу перед вызовом обработчика двойного щелчка по умолчанию |
BeforeRightClick |
Происходит при щелчке правой кнопкой мыши любого листа перед вызовом обработчика щелчка правой кнопкой мыши по умолчанию |
Calculate |
Происходит после пересчета рабочего листа |
Change |
Происходит, когда в ячейки Worksheetвносятся какие-либо изменения |
Deactivate |
Происходит при потере фокуса рабочим листом |
FollowHyperlink |
Происходит при переходе по любой гиперссылке на рабочем листе |
SelectionChange |
Происходит при изменении выделения на рабочем листе |
Startup |
Происходит после запуска рабочего листа и всех кодов инициализации в сборке |