Читаем Excel. Трюки и эффекты полностью

При использовании любого из перечисленных вариантов количество открытий текущего файла отобразится в ячейке А1. Если результат впоследствии корректировался вручную, то в дальнейшем это значение при каждом открытии будет увеличиваться на 1 (например, при обнулении результата подсчет начнется заново, а если в ячейку А1 введено значение 52, то при следующем открытии файла оно будет равным 53). Если же в ячейку А1 введено нечисловое значение, то при следующем открытии файла на экране отобразится сообщение об ошибке.

<p>Получение «закрытой» информации</p>

Возможности программы предусматривают извлечение данных из закрытого файла. Для этого нужно записать и выполнить следующий макрос (листинг 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

<p>Произвольный текст в строке состояния</p>

С помощью небольшого макроса можно включить отображение в строке состояния произвольного текста. Код макроса выглядит следующим образом (листинг 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

После запуска макроса текст в строке состояния (он может быть произвольным) начнет двигаться справа налево.

<p>Быстрое изменение заголовка окна</p>

Аналогичным образом при необходимости можно изменить текст в заголовке окна программы. Для этого можно использовать, например, следующий макрос (листинг 3.8).

Листинг 3.8. Изменение заголовка окна

Sub NewTitle()

Application.Caption = «Какая хорошая погода»

End Sub

Результат выполнения макроса показан на рис. 3.2.

Рис. 3.2. Изменение заголовка окна

Однако на рис. 3.2 видно, что перед новым заголовком находится название текущего файла. Чтобы убрать это название, необходимо внести в макрос некоторые изменения (листинг 3.9).

Перейти на страницу:

Похожие книги

1С: Бухгалтерия 8 с нуля
1С: Бухгалтерия 8 с нуля

Книга содержит полное описание приемов и методов работы с программой 1С:Бухгалтерия 8. Рассматривается автоматизация всех основных участков бухгалтерии: учет наличных и безналичных денежных средств, основных средств и НМА, прихода и расхода товарно-материальных ценностей, зарплаты, производства. Описано, как вводить исходные данные, заполнять справочники и каталоги, работать с первичными документами, проводить их по учету, формировать разнообразные отчеты, выводить данные на печать, настраивать программу и использовать ее сервисные функции. Каждый урок содержит подробное описание рассматриваемой темы с детальным разбором и иллюстрированием всех этапов.Для широкого круга пользователей.

Алексей Анатольевич Гладкий

Программирование, программы, базы данных / Программное обеспечение / Бухучет и аудит / Финансы и бизнес / Книги по IT / Словари и Энциклопедии
1С: Управление торговлей 8.2
1С: Управление торговлей 8.2

Современные торговые предприятия предлагают своим клиентам широчайший ассортимент товаров, который исчисляется тысячами и десятками тысяч наименований. Причем многие позиции могут реализовываться на разных условиях: предоплата, отсрочка платежи, скидка, наценка, объем партии, и т.д. Клиенты зачастую делятся на категории – VIP-клиент, обычный клиент, постоянный клиент, мелкооптовый клиент, и т.д. Товарные позиции могут комплектоваться и разукомплектовываться, многие товары подлежат обязательной сертификации и гигиеническим исследованиям, некондиционные позиции необходимо списывать, на складах периодически должна проводиться инвентаризация, каждая компания должна иметь свою маркетинговую политику и т.д., вообщем – современное торговое предприятие представляет живой организм, находящийся в постоянном движении.Очевидно, что вся эта кипучая деятельность требует автоматизации. Для решения этой задачи существуют специальные программные средства, и в этой книге мы познакомим вам с самым популярным продуктом, предназначенным для автоматизации деятельности торгового предприятия – «1С Управление торговлей», которое реализовано на новейшей технологической платформе версии 1С 8.2.

Алексей Анатольевич Гладкий

Финансы / Программирование, программы, базы данных