Шаг 5 - Далее про Workbooks в Excel

В прошлый раз мы научились добавлять книги в коллекцию. Теперь научимся удалять и получать информацию о книгах. Так как книга ассоциируется с файлом, то и метод удаления книги из колекции называется Close. Но для удаления необходимо получить доступ к элементу.

Sub Test()

Application.Workbooks.Item(1).Close

End Sub

В таком варианте закроются все книги:

Sub Test()

Application.Workbooks.Close

End Sub

Функция Close имеет ряд необязательных параметров. Вот они.

expression.Close(SaveChanges, FileName, RouteWorkbook)

Первый параметр SaveChanges типа BOOL, если установить TRUE сделанные изменения сохранятся, в противном случае нет. Если параметр упускается, то при закрытии появляется диалоговое окно с вопросом о необходимости сохранения.

Следующий параметр FileName необходим, когда идет вопрос о закрытии книги не связанной еще с именем файла. Последний параметр связан с одновременной работой над книгой. Он типа BOOL.

Получить доступ к книгам в коллекции можно используя метод Item():

Sub Test()

MsgBox (Application.Workbooks.Item(1).Name)

MsgBox (Application.Workbooks.Item("Test.xls").FullName)

End Sub

Как видите, доступ можно получить по индексации и по имени книги, следует знать, что имя книги это имя файла, в котором он хранится. Получив доступ по индексу в первой строке я узнал имя. А во второй по имени получил доступ к свойствам обьекта WorkBook и получил полное имя, название файла и путь, который и вывел на экран в виде сообшения.

Еще одно свойство - это создатель книги, и называется он Creator

Sub Test()

If (Application.Workbooks.Creator = &H5843454C) Then

MsgBox "Excel Creator"

Else

MsgBox "Not Excel Creator"

End If

End Sub

С помощью Parent можно получить доступ к старшему объекту коллекции при выполнении кода изложенного ниже, появится MS Excel, ну а Вы что подумали?:-)

Sub Test()

MsgBox (Application.Workbooks.Parent.Name)

End Sub


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: