Информатика. Книга 7 Быстрое размножение рабочей книги 7 Сохранение рабочей книги с именем, представляющим собой текущую дату 7
Скачать 1.27 Mb.
|
Глава 3. Создание трюков с помощью макросовПодсчет количества открытий файлаЛистинг 3.1. Количество открытий файла (вариант 1) Sub Auto_Open() Worksheets(1).Cells(1) = Worksheets(1).Cells(1) + 1 End Sub Листинг 3.2. Количество открытий файла (вариант 2) Sub Auto_Open() Worksheets(1).Cells(1, 1) = Worksheets(1).Cells(1, 1) + 1 End Sub Листинг 3.3. Количество открытий файла (вариант 3) Sub Auto_Open() Worksheets(1).Range("A1") = Worksheets(1).Range("A1") + 1 End Sub Получение «закрытой» информацииЛистинг 3.4. Извлечение данных из закрытого файла Sub GetDataFromFile() Range("A1").Formula = "='C:\[Example.xls]Лист1'!A1" End Sub Произвольный текст в строке состоянияЛистинг 3.5. Произвольный текст в строке состояния Sub ChangeStatusBarText() Application.StatusBar = "Как надоело работать!!!" End Sub Листинг 3.6. Восстановление строки состояния Sub ReturnStatusBarText() Application.StatusBar = False End Sub Листинг 3.7. Бегущая строка в строке состояния Sub MovingTextInStatusBar() Dim intSpaces As Integer ' Изменение количества пробелов в начале строки (от 20 до 0) - _ строка бежит (скорее, ползет) влево For intSpaces = 20 To 0 Step -1 ' Запись текста в строку состояния Application.StatusBar = Space(intSpaces) & "Как надоело работать!!!" ' Выдерживаем паузу Application.Wait Now + TimeValue("00:00:01") ' Дадим Excel обработать пользовательский ввод DoEvents Next Application.StatusBar = False End Sub Быстрое изменение заголовка окнаЛистинг 3.8. Изменение заголовка окна Sub NewTitle() Application.Caption = "Какая хорошая погода" End Sub Листинг 3.9. Изменение заголовка окна (со скрытием названия файла) Sub NewTitle() Application.Caption = "Какая хорошая погода" ActiveWindow.Caption = "" End Sub Листинг 3.10. Еще один вариант изменения заголовка Sub NewTitle() Application.Caption = "Какая хорошая погода" ActiveWindow.Caption = "А завтра будет дождь" End Sub Листинг 3.11. Возврат к первоначальному заголовку Sub ReturnTitle() ' Возвращение заголовка приложения (то есть Excel) Application.Caption = Empty ' Указание правильного названия открытого файла (книги) ActiveWindow.Caption = ThisWorkbook.Name End Sub Ввод данных с помощью диалогового окнаЛистинг 3.12. Диалоговое окно ввода данных Sub InputDialog() Dim strInput As String ' Вызов стандартного диалогового окна ввода данных strInput = InputBox("Введите данные", "Ввод данных") End Sub Листинг 3.13. Значения по умолчанию Sub NewInputDialog() Dim strInput As String ' Вызов стандартного диалогового окна ввода со значением _ по умолчанию strInput = InputBox("Введите данные", "Ввод данных", _ "Значение по умолчанию", 200, 200) End Sub Применение функции без ввода ее в ячейкуЛистинг 3.14. Применение функции без ввода в ячейку Sub Func() [A1] = Application.Sum([B5:B10]) End Sub Скрытие строк и столбцов от постороннихЛистинг 3.15. Скрытие строки Sub HideString() Rows(2).Hidden = True End Sub Листинг 3.16. Скрытие нескольких строк Sub HideStrings() Rows("3:5").Hidden = True End Sub Листинг 3.17. Скрытие столбца Sub HideCollumn() Columns(2).Hidden = True End Sub Листинг 3.18. Скрытие нескольких столбцов Sub HideCollumns() Columns("E:F").Hidden = True End Sub Листинг 3.19. Скрытие строки по имени ячейки Sub HideCell() Range("Секрет").EntireRow.Hidden = True End Sub Листинг 3.20. Скрытие нескольких строк по адресам ячеек Sub HideCell() Range("B3:D4").EntireRow.Hidden = True End Sub Листинг 3.21. Скрытие столбца по имени ячейки Sub HideCell() Range("Секрет").EntireColumn.Hidden = True End Sub Листинг 3.22. Скрытие нескольких столбцов по адресам ячеек Sub HideCell() Range("C2:D5").EntireColumn.Hidden = True End Sub |