Объект Workbook и семейство Workbooks
Методы объекта Application
Метод | Действие |
Calculate | Вызывает пересчет всех формул на всех листах всех рабочих книг. Аргументов нет. Application.Calculate |
Quit | Закрывает приложение Excel. Если в момент вызова метода Quit значение свойства DisplayAlerts равно False, то Excel не выводит на экран запрос на сохранение открытых рабочих книг. Аргументов нет. Application.Quit |
Объект Workbook расположен на второй ступени иерархии объектов Excel и представляет собой файл рабочей книги. Рабочие книги существуют в двух формах: в виде файла XLS (стандартная книга Excel) и файла XLA (надстройка Excel)[9], содержащего полностью скомпилированное приложение VBA. Код VBA можно компилировать и без создания XLA, но только этот файл позволяет скрыть код от пользователей.
1.5.1. Свойства объекта Workbook
и семейства Workbooks
Свойство | Значение |
Name | Возвращает имя рабочей книги. Внимание! Это свойство нельзя использовать для изменения имени. Для сохранения книги с новым именем применяйте метод SaveAs. String; доступно только для чтения. ИмяРабочейКниги = ThisWorkbook.Name |
Path | Возвращает путь к файлу рабочей книги. String; доступно только для чтения. ПапкаРабочейКниги = _ ActiveWorkbook.Path |
FullName | Возвращает полное имя рабочей книги, включая путь. String; доступно только для чтения. ПолноеИмя = ActiveWorkbook.FullName |
Saved | Имеет значение True, если с момента последнего сохранения в рабочую книгу не вносились изменения, и False – в противном случае. True или False; доступно для чтения/записи. If Not(ActiveWorkBook.Saved) Then ActiveWorkbook.Save End If |
WorkSheets | Возвращает семейство всех рабочих листов книги или конкретный лист, если указан его порядковый номер или имя (см.1.3.2). |
Charts | Возвращает семейство всех диаграмм рабочей книги, расположенных на отдельных листах. |
Count | Возвращает число открытых рабочих книг. Long; доступно только для чтения. КолОткрытыхКниг = Workbooks.Count |
1.5.2. Методы объекта Workbook
и семейства Workbooks
Метод | Действие | ||||||
Add | Создает новую рабочую книгу в семействе Workbooks. Аргументов нет. Workbooks.Add | ||||||
Activate | Активизирует рабочую книгу и открывает первое связанное с ней окно. Аргументов нет. Workbooks("Мои таблицы.xls").Activate | ||||||
Close | Закрывает рабочую книгу. Аргументы:
ActiveWorkbook.Close saveChanges:= _ | ||||||
Save | Сохраняет рабочую книгу. Аргументов нет. ActiveWorkbook.Save | ||||||
SaveCopyAs | Сохраняет рабочую книгу в новом файле, оставляя исходную книгу в памяти с прежним именем. Аргумент:
ActiveWorkbook.SaveCopyAs _ |
1.5.3. Функции, используемые для работы
с файлами и папками
Рассмотрим наиболее часто используемые функции для работы с файлами и папками.
Функция | Описание и пример | ||||
ChDir | Изменяет текущую папку. Синтаксис:
ChDir path, где path – имя новой текущей папки
| ||||
CurDir | Возвращает текущую папку | ||||
Kill | Удаляет файл. Синтаксис: Kill pathname, где pathname – имя удаляемого файла Kill "C:\St\Случайные числа.xls" | ||||
MkDir | Создает папку. Синтаксис: MkDir path, где path – имя новой папки MkDir "C:\St" Если папка C:\St существует, то при выполнении этой команды возникнет ошибка: | ||||
RmDir | Удаляет папку. Синтаксис: RmDir path, где path – имя удаляемой папки RmDir "C:\St" Если папка C:\St не существует, то при выполнении этой команды возникнет ошибка: |
Следующую функцию – функцию Dir – рассмотрим подробнее. В зависимости от указанных атрибутов эта функция возвращает файл или папку и обычно используется для проверки их существования.
Синтаксис:
Dir[(pathname[, attributes])]
pathname – определяет полное имя файла или папки;
attributes – параметры, которые могут принимать следующие значения:
Константа | Значение | Описание |
q vbNormal | Обычный файл | |
q vbReadOnly | Файл только для чтения | |
q vbHidden | Скрытый файл | |
q vbSystem | Системный файл | |
q vbVolume | Метка тома; если этот параметр указан, то все остальные атрибуты игнорируются | |
q vbDirectory | Каталог или папка |
Примеры:
1. Следующий код проверяет наличие файла и выдает соответствующее сообщение:
Dim Файл As String
Файл = Dir("C:\St\Случайные числа.xls")
If Файл <> "" Then _
MsgBox "Файл Случайные числа.xls существует!" _
Else MsgBox "Файл Случайные числа.xls не найден!"
ЗАМЕЧАНИЕ. В этом примере функция Dir возвращает значение, равное "Случайные числа.xls", если файл существует, и пусто в противном случае.
2. Следующий код выводит в таблицу список файлов из папки C:\St:
Path = "C:\St" 'определяет папку
Файл = Dir(Path) 'возвращает имя первого файла
i = 1
While Файл <> ""
Cells(i,1).Value = Файл
Файл = Dir
i = i + 1