![]() Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Рабочий лист
Новый лист — через макрос Листинг 2.11. Создание нового листа Sub NewSheet() Worksheets.Add End Sub Блокировка использования контекстного меню Листинг 2.12. Блокировка контекстного меню Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean) Static intCount As Integer ' Счетчик нажатий кнопки мыши Dim x As Integer, y As Integer
' Блокировать обработку щелчка правой кнопкой мыши Cancel = True ' Отображение текстового поля с количеством щелчков правой _ кнопкой мыши x = Target.Left y = Target.Top intCount = intCount + 1 ActiveSheet.Shapes.AddTextbox(msoTextOrientationHorizontal, _ x, y, 35, 20).TextFrame.Characters.Text = intCount End Sub Вставка колонтитула с именем книги, листа и текущей датой Листинг 2.13. Вставка колонтитула Sub AddPageHeader() Dim i As Integer With ThisWorkbook ' Вставка колонтитулов на все листы рабочей книги For i = 1 To.Worksheets.Count - 1 .Worksheets(i).PageSetup.LeftHeader =.FullName .Worksheets(i).PageSetup.CenterHeader = Worksheets(i).Name .Worksheets(i).PageSetup.RightHeader = Now() Next End With End Sub Проверка существования листа Листинг 2.14. Проверка существования листа Function dhSheetExist(strSheetName As String) As Boolean Dim objSheet As Object
On Error GoTo HandleError ' При ошибке перейти на HandleError ' Пытаемся получить ссылку на заданный лист objSheet = ActiveWorkbook.Sheets(strSheetName) ' Ошибки не возникло - лист существует dhSheetExist = True Exit Function
HandleError: ' При попытке получить доступ к листу с заданным именем _ возникла ошибка, значит, такого листа не существует dhSheetExist = False End Function Проверка, защищен ли рабочий лист Листинг 2.15. Проверка наличия защиты рабочего листа Sub IsSheetProtected() ' Проверка, установлена ли защита на содержимое листа If Worksheets(1).ProtectContents Then MsgBox " Защита листа включена" Else MsgBox " Защита листа не включена" End If End Sub Сколько страниц на всех листах? Листинг 2.16. Подсчет страниц Sub GetPrintPagesCount() Dim wshtSheet As Worksheet Dim intPagesCount As Integer
' Суммирование количества страниц, необходимых для печати всех _ листов книги For Each wshtSheet In Worksheets intPagesCount = intPagesCount + (wshtSheet.HPageBreaks.Count + 1) * _ (wshtSheet.VPageBreaks.Count + 1) Next MsgBox " Всего страниц: " & intPagesCount End Sub
|