Лекция: Объект Workbook и семейство Workbooks

Объект 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

1.5.3. Функции, используемые для работы
с файлами и папками

Рассмотрим наиболее часто используемые функции для работы с файлами и папками.

Функция Описание и пример
ChDir Изменяет текущую папку. Синтаксис: ChDir path, где path – имя новой текущей папки
ChDir «C:\St» Переход в папкуC:\St
ChDir ".." Переход в родительскую папку, т.е. в папку на 1 уровень вверх
CurDir Возвращает текущую папку
Kill Удаляет файл. Синтаксис: Killpathname, где pathname – имя удаляемого файла Kill «C:\St\Случайные числа.xls»
MkDir Создает папку. Синтаксис: MkDir path, где path – имя новой папки MkDir «C:\St» Если папка C:\St существует, то при выполнении этой команды возникнет ошибка:
RmDir Удаляет папку. Синтаксис: RmDirpath, где 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

Wend

ОБРАТИТЕ ВНИМАНИЕ: повторное использование функции Dir без аргументов возвращает имя следующего файла из папки, адрес которой был задан до этого (Dir(Path)).

3. Если первую строку предыдущего кода записать в виде

Path = «C:\St\*.xls» ,

то получим список Excel-файлов.

4. Следующий код проверяет наличие папки и выдает соответствующее сообщение:

Path = «C:\St»

Папка = Dir(Path, vbDirectory)

'возвращает имя папки («St», если она _
существует, и пусто – в противном случае)

If Папка <> "" Then MsgBox «Папка существует!» _

Else MsgBox «Папка не существует!»

еще рефераты
Еще работы по информатике