Закрытие книги без сохранения изменений



Свойство Saved объекта Workbook возвращает значение True, если никаких изменений не было сделано в книге с момента ее последнего сохранения, и значение False в противном случае. Поэтому, если в процедуру обработки события BeforeСlose объекта Workbook добавить инструкцию ActiveWorkbook.Saved = True

то книга будет сохранена без сохранения изменений, внесенных в нее с момента последнего ее сохранения, как показано в следующем коде из модуля ЭтаКнига .

Private Sub Workbook_BeforeClose(Cancel As Boolean)

ActiveWorkbook.Saved = True

End Sub

Определение объекта Workbook по имени рабочей книги

Объекты Workbook образуют семейство Workbooks, доступ к элементам которого можно производить как по имени, так и индексу. В следующем коде доступ к элементам этого семейства реализуется по имени. В качестве искомой книги взята активная рабочая книга, ссылка на которую возвращается свойством ActiveWorkbook. Свойство FullName возвращает полное имя книги, а метод SaveAs сохраняет ее по указаному имени.

Dim wb As Workbook

Set wb = Workbooks(Dir(ActiveWorkbook.FuliName))

Debug.Print wb.FullName

wb.SaveAs Filename:="newfile.xls"

Debug.Print wb.FullName

Как узнать, открыта ли специфицированная рабочая книга

Часто бывает необходимо узнать, открыта ли данная книга. Такую проверку можно провести с помощью следующей функции (листинг 5.21), которая проверяет, возвращает ли ссылка на специфицированную книгу значение Nothing или объект Workbook.

Листинг 5.21. Определение. открыта ли специфицированная рабочая книга

Function WorkbookExists(WorkbookName As String) As Boolean

Dim wb As Workbook

On Error Resume Next

Set wb = Workbooks(WorkbookName)

WorkbookExists = Not (wb Is Nothing)

On Error GoTo 0

End Function


Объект Name и простой способ удаления из рабочей книги ненужных имен

Объект Name инкапсулирует в себе информацию об имени, используемом в рабочей книге. Все имена образуют семейства Names. Удалять ненужные имена из рабочей книги конечно можно вручную, но этот процесс довольно утомительный. Код листинга 5.22 демонстрирует, как семейство Names позволяет пролистать все имена и удалить выбранные.

Листинг 5.22. Пролистывание всех имен и удаление выбранных

Sub CheckingNames()

Dim nm As Name

Dim ans As Integer

If ThisWorkbook.Names.Count = 0 Then

MsgBox "Имена не определены."

Exit Sub

End If

For Each nm In ThisWorkbook.Names

With nm

ans = MsgBox("Удалить имя " & .Name & " ? " & vbCr & _

"относящее к " & .RefersTo, vbYesNo + vbQuestion)

Select Case ans

Case vbYes

.Delete

Case vbNo

End Select

End With

Next

End Sub

Код листинга 5.23 демонстрирует, как можно присвоить имя выделенному диапазону. Ссылка на выделенный диапазон указывается с помощью окна ввода InputBox.

Листинг 5.23. Присвоение имени выделенному диапазону

Sub AddName ()

Dim name As String

name = InputBox("Введите имя")

ActiveSheet.Names.Add Name:=name, _

RefersTo:="=" & Selection.Address()

End Sub

Определение , была ли сохранена открытая рабочая книга

Для того чтобы определить была ли рабочая книга сохранена, можно проверить длину строки, возвращаемую свойством Path объекта Workbook, как показано в листинге 5.24. Это свойство возвращает полный путь к приложению без последнего разделителя и имени файла. Если это свойство возвращает значение 0, то приложение еще не было сохранено.

Листинг 5.24. Определение, была ли сохранена открытая рабочая книга

Function IsSavedO As Boolean

If Len(ThisWorkbook.Path) = 0 Then

IsSaved = False

Else

IsSaved = True

End If

End Function

Методы объекта Workbook

Объект Workbook имеет обширную коллекцию методов, позволяющих реализовывать большой спектр операций от активизации книги до составления сложного отчета с помощью сводной таблицы. В табл. 5.5 перечислены основные методы объекта Workbook.

Таблица 5.5. Основные методы объекта Workbook

Метод Описание
AcceptAllChanges Принимает все изменения в совместно используемой книге
Activate Активизирует рабочую книгу так, что ее первый рабочий лист становится активным
AddToFavorites Добавляет книгу в Избранное

Таблица 5.5. Основные методы объекта Workbook (Продолжение)

Метод Описание
BreakLink Конвертирует формулы или OLE-объекты между связанными книгами в значения
CanCheckln Проверяет и устанавливает, можно ли редактировать книгу, расположенную на сервере
ChangeFileAccess Изменяет режим доступа к книге
ChangeLink Изменяет тип связи, установленный между документами
Checkln Производит редактирование книги, расположенной на сервере
Close Закрывает книгу
DeleteNumberFormat Удаляет пользовательский числовой формат
EndReview Прекращает редактирование файла, который был отослан методом SendForReview
ExclusiveAccess Устанавливает для текущего пользователя эксклюзивный доступ к книге
FollowHyperlink Производит переход по гиперссылке
NewWindow Открывает новое окно в книге
PivotCaches Возвращает семейство PivotCaches, представляющее собой кэш-таблицу, отведенную под сводную таблицу
PivotTableWizard Создает сводную таблицу
Post Пересылает книгу в папку общего доступа. Метод работает только с клиентами MS Exchange, соединенными с MS Exchange-сервером
Printout Печатает книги
PrintPreview Задает предварительный просмотр книги
Protect Защищает рабочую книгу от внесения в нее изменений
ProtectSharing Защищает книгу при совместном использовании
PurgeChangeHistoryNow Удаляет данные старше указанного срока из журнала изменений
RefreshAll Обновляет все внешние данные и отчеты, созданные на основе сводной таблицы
RejectAllChanges Отменяет все изменения в книге при совместном ее использовании
ReloadAs Перегружает книгу, созданную на основе HTML-документа, используя указанную кодировку
RemoveUser Отключает указанного пользователя от книги при ее совместном использовании
ReplyWithChanges Отсылает сообщения, подтверждающие завершение редактирования книги
Save Сохраняет книгу
SaveAs Сохраняет книгу в другой файл
SaveCopyAs Сохраняет копию книги
SendMail Отсылает почту, используя встроенные средства MS Mail
Unprotect Снимает защиту с рабочей книги
UnprotectSharing Снимает защиту с совместно используемой книги
UpdateFromFile Обновляет из файла книги только для чтения
UpdateLink Обновляет связи MS Excel и OLE
WebPagePreview Задает предварительный просмотр книги, прежде чем она будет сохранена как Web-страница

 


Дата добавления: 2019-02-12; просмотров: 147; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!