При использовании любого из перечисленных вариантов количество открытий текущего файла отобразится в ячейке А1. Если результат впоследствии корректировался вручную, то в дальнейшем это значение при каждом открытии будет увеличиваться на 1 (например, при обнулении результата подсчет начнется заново, а если в ячейку А1 введено значение 52, то при следующем открытии файла оно будет равным 53). Если же в ячейку А1 введено нечисловое значение, то при следующем открытии файла на экране отобразится сообщение об ошибке.
Получение «закрытой» информации
Возможности программы предусматривают извлечение данных из закрытого файла. Для этого нужно записать и выполнить следующий макрос (листинг 3.4).
Листинг 3.4. Извлечение данных из закрытого файла
Sub GetDataFromFile()
Range(«A1»).Formula = «='C:\[Example.xls]Лист1'!A1»
End Sub
В данном случае подразумевается, что необходимый нам файл находится по адресу С:\Example.xls, а из хранящейся в нем книги нам нужно содержимое ячейки А1.
Формулу, которую мы задавали с помощью макроса, можно вводить в таблицу вручную, если возникнет необходимость заносить в ячейки таблицы данные из другого файла. При этом следует учитывать, что полный путь нужно задавать только в том случае, если необходимый файл расположен в другой папке. Имя файла в квадратных скобках указывать обязательно. Также следует указывать имя листа, на котором находится нужная нам ячейка. Необходимо строго соблюдать синтаксис, который используется в листинге 3.4.
Для подкрепления сказанного рассмотрим пример формулы для получения значения ячейки А1 листа Лист2 книги, расположенной в файле F.xls (в той же папке, что и текущая книга):
=' [F.xls]Лист2'!A1
Произвольный текст в строке состояния
С помощью небольшого макроса можно включить отображение в строке состояния произвольного текста. Код макроса выглядит следующим образом (листинг 3.5).
Листинг 3.5. Произвольный текст в строке состояния
Sub ChangeStatusBarText()
Application.StatusBar = «Как надоело работать!!!»
End Sub
Результат применения данного макроса представлен на рис. 3.1.
Рис. 3.1. Изменение текста в строке состояния
Для возврата к первоначальному состоянию можно использовать следующий макрос (листинг 3.6).
Листинг 3.6. Восстановление строки состояния
Sub ReturnStatusBarText()
Application.StatusBar = False
End Sub
После запуска данного макроса строка состояния примет прежний вид.
Текст, изображенный в строке состояния на рис. 3.1, можно заставить двигаться, то есть создать эффект бегущей строки. В этом нам поможет макрос, код которого приведен в листинге 3.7.
Листинг 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).
Листинг 3.8. Изменение заголовка окна
Sub NewTitle()
Application.Caption = «Какая хорошая погода»
End Sub
Результат выполнения макроса показан на рис. 3.2.
Рис. 3.2. Изменение заголовка окна
Однако на рис. 3.2 видно, что перед новым заголовком находится название текущего файла. Чтобы убрать это название, необходимо внести в макрос некоторые изменения (листинг 3.9).
Листинг 3.9. Изменение заголовка окна (со скрытием названия файла)
Sub NewTitle()
Application.Caption = «Какая хорошая погода»
ActiveWindow.Caption = ""
End Sub
После запуска данного макроса заголовок примет следующий вид (рис. 3.3).
Рис. 3.3. Заголовок без названия файла
Можно сделать так, что после заголовка будет отображаться произвольный текст. Соответствующий макрос выглядит примерно так (листинг 3.10).
Читать дальше
Конец ознакомительного отрывка
Купить книгу