Закрытие книги без сохранения изменений
Свойство 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; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!