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

Чтобы ФИО отобразились в родительном падеже, следует установить курсор в ячейку с этими ФИО и запустить макрос PossessiveCase; в дательном падеже – макрос DativeCase (после написания кода эти макросы будут доступны в окне выбора макросов).

Внимание!

Для реализации трюка необходимо соблюдать условие – ячейка должна содержать не менее трех слов. В противном случае операция выполнена не будет.

Следует учитывать, что в ячейке сначала должна следовать фамилия, за ней – имя, и затем – отчество.

Данный макрос не всегда способен корректно обрабатывать сложные имена и фамилии.

<p>Получение информации об используемом принтере</p>

С помощью небольшого макроса можно вывести на экран информацию об используемом принтере. Код макроса записывается в стандартном модуле редактора VBA и выглядит следующим образом (листинг 3.83).

Листинг 3.83. Информация о принтере

' Объявление API-функции

Declare Function GetProfileStringA Lib «kernel32» _

(ByVal lpAppName As String, ByVal lpKeyName As String, _

ByVal lpDefault As String, ByVal lpReturnedString As _

String, ByVal nSize As Long) As Long

Sub Принтер()

Dim strFullInfo As String * 255 ' Буфер для API-функции

Dim strInfo As String ' Строка с полной информацией

Dim strPrinter As String ' Название принтера

Dim strDriver As String ' Драйвер принтера

Dim strPort As String ' Порт принтера

Dim strMessage As String

Dim intPrinterEndPos As Integer

Dim intDriverEndPos As Integer

' Заполнение буфера пробелами

strFullInfo = Space(255)

' Получение полной информации о принтере

Call GetProfileStringA(«Windows», «Device», "", strFullInfo,

254)

' Удаление лишних символов из конца возвращенной строки

' Строка strInfo имеет формат <имя_принтера>,<драйвер>,<-

порт>:

strInfo = Trim(strFullInfo)

' Поиск запятых в строке (окончаний названий принтера и драйвера)

intPrinterEndPos = Application.Find(",", strInfo, 1)

intDriverEndPos = Application.Find(",", strInfo,

intPrinterEndPos + 1)

' Определение названия принтера

strPrinter = Left(strInfo, intPrinterEndPos – 1)

' Определение драйвера

strDriver = Mid(strInfo, intPrinterEndPos + 1,

intDriverEndPos _

– intPrinterEndPos – 1)

' Определение порта (его название заканчивается символом ":")

strPort = Mid(strInfo, intDriverEndPos + 1, InStr(1, strInfo,

":") _

– intDriverEndPos – 1)

' Формирование информационного сообщения

strMessage = «Принтер:» & Chr(9) & strPrinter & Chr(13)

strMessage = strMessage & «Драйвер:» & strDriver & Chr(13)

strMessage = strMessage & «strPort:» & Chr(9) & strPort

' Вывод информационного сообщения

MsgBox strMessage, vbInformation, «Сведения о принтере по умолчанию»

End Sub

В данном примере для получения информации о принтере используется API-функция GetProf ileStringA. Эта функция возвращает в строку-буфер strFullInf о информацию в виде <имяпринтера>, <драйвер>, <порт>:.

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

<p>Вывод текущей даты и времени</p>
Перейти на страницу:

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

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

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

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

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

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

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

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