Помощь учителям информатики

Программирование VBA

 
Главная

Гос. документы

Планирование&
Программы курсов

Разработки уроков

Наглядный материал&
Проверочные&
Самостоятельные работы

Наши работы

Программирование VBA

"?" - есть вопрос

Юмор :-)

О себе

Гостевая

 

ttp://www.codenet.ru/

Визуальное программирование или не много те

здесь можно скачать готовые программки и модели

ории о Visual Basic

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

В систему программирования Visual Basic входит текстовый редактор для написания текстов программ и конструктор форм. Программист пишет исходные тексты программ на формализованном языке, который представляет собой последовательность команды или операторов.

Разработка интерфейса программы выполняется с помощью конструктора форм. Чтобы программа выполнялась, исходные тексты переводят на машинный язык. Это делает компилятор, который также водит в систему программирования.

Не выходя из среды Visual Basic, Вы можете многократно запускать свою программу на выполнение, проверяя и отлаживая ее работу, и возвращаться обратно.

Таким образом, программа может находиться либо в режиме проектирования, либо в режиме выполнения.

Готовая программа сохраняется в виде исполняемого файла (exe-модуля), который может работать в отсутствие исходного текста. Его создает компилятор. Интерпретаторы отличаются от компиляторов тем, что "переводят" и выполняют программу построчно.

Объекты и их свойства

Для создания интерфейса Visual Basic предоставляет готовые объекты, обладающие определенными свойствами, которые можно изменять, настраивая программу на выполнение конкретной задачи.

Для создания средств общения с пользователем в проект включаются формы, которые представляют собой типовые окна Windows. Они имеют строку заголовка с кнопками управления и системным меню, а также возможности управления мышью. Все это не надо программировать, форма, включенная в проект, обладает этими свойствами. Пустая поверхность формы (серый фон покрытый сеткой) заполняется в процессе проектирования. В новый проект Visual Basic сразу добавляет одну форму, которая выводиться в центре экрана, в окне формы.

Свойствами формы являются, например, ее заголовок и размеры. Кроме форм в Вашем распоряжении набор управляющих элементов. Каждый из них выполняет определенные, уже запрограммированные функции. Один представляет собой рабочую область для ввода и редактирования текста, другой - для вывода рисунков и т.д. В процессе проектирования Вы выбираете нужные Вам элементы и помещаете их на форму.

Стандартный проект на Visual Basic

Исходные тексты программы на Visual Basic сохраняются в нескольких файлах.

Файл проекта имеет расширение .vbp и содержит реестр файлов, необходимых для создания исполняемого файла приложения.

В модуле формы сохраняется описание формы и ее управляющих элементов и программный код, относящийся к ним. Это обычный текстовый файл с расширением .frm. Таких модулей в проекте может быть несколько по числу форм.

Код, не связанный с конкретной формой или элементом управления, помещается в стандартный модуль с расширением .bas. Могут быть модули и другого типа.

Выбор типа проекта

При вызове Visual Basic открывается окно диалога мастера проектов. Оно имеет 3 вкладки следующего назначение:

New - создание нового проекта, предлагается на выбор несколько стандартных шаблонов, для создания Вашего первого приложения выбираем Standart EXE.

Existing - открыть существующий проект, позволяет выбрать файл в диалогом окне выбора.

Recent - открыть один из последних проектов, которые были созданы или в которые были внесены любые изменения.

Краткое описание IDE (Интегрированная среда разработки)

Окно Visual Basic содержит строку меню, панели инструментов и различные окна. Окно конструктора форм находиться в центре экрана и содержит форму (Form). В новый проект по умолчанию добавляется форма с именем Form1. Команда Object меню View открывает окно, если оно было закрыто и выводит его поверх других окон.

Окно с коллекцией управляющих элементов (ToolBox) находиться обычно слева от формы. Оно содержит набор стандартных управляющих элементов. В процессе проектирования Вы выбираете нужные элементы и перемещаете их на форму.

Окно свойств (Properties) содержит список свойств и их значений для выделенного объекта. Объект можно выбрать здесь же в списке под строкой заголовка.

Окно проводника (Project Explorer) отображает все составные части проекта: формы и модули. Здесь же имеются кнопки для переключения между окном формы и редактором.

Окно редактора кода (Code) содержит текст программы.

Окно макета формы (Form1 Layout) показывает, как будет выглядеть текущая форма на экране в режиме выполнения.

Окна пристыкованы друг к другу (Docking). Чтобы отстыковать окно, выполните двойной щелчок на строке заголовка или просто переместите его. Чтобы пристыковать окно, переместите его на границу и отпустите кнопку мыши. Можно перемещать границы между пристыкованными окнами и изменять их размеры. Любое из окон можно убрать с экрана и в нужный момент вернуть их обратно с помощью команд меню View или кнопок на панели инструментов.

Визуальное проектирование

Начните новый проект. Убедитесь, что форма является выделенным объектом, и окно Properties отображает ее свойства. Измените заголовок формы. Для этого в списке свойств найдите свойство Caption, выделите его двойным щелчком мыши и введите текст заголовка. Измените цвет формы с помощью свойства BackColor.

Свойство Left и Top определяют положение формы на экране при запуске программы на выполнение. Это координаты левого верхнего угла формы в твипах (1-1440 логического, т.е. зависящего от разрешающей способности монитора, дюйма.)

Для изменения можно ввести новые значения с клавиатуры или мышью переместить изображение формы в окне Form Layout. В режиме выполнения можно перемещать форму, как обычное окно Windows, но это не влияет на значение свойств Left и Top.

Значения свойств Height и Width - это соответственно высота и ширина формы. Изменить эти значения можно, изменяя мышью размеры формы в режиме проектирования. Если размеры формы становятся больше, чем размеры окна с формой в режиме проектирования, то появляются полосы прокрутки. Изменение размеров в режиме выполнения программы не влияет на значение свойств.

Подробнее о свойствах форм Вы можете прочитать в моей статье - "Фундамент программы или основные свойства форм", а о событиях и методах в статье "Методы и события форм", обе статьи Вы найдете на форуме в разделе Материал.

Соглашение об именах

В программе каждая форма и каждый управляющий элемент имеет свое уникальной имя, по которому к ним можно обращаться. Имена по умолчанию даются системой при создании объекта и состоят из слова, обозначающего тип объекта, и цифры - порядкового номера. Например, первая форма в проект имеет имя Form1. Имя объекта в программе является значением свойства Name этого объекта, часто это свойство изменяют с целью дать объекту имя, отражающее его назначение в программе. Visual Basic не накладывает сколько нибудь серьезных ограничений на имена - они могут быть практически любыми, но имеются общепринятые соглашения (Венгерская нотация) об образовании имен. В венгерской нотации имя объекта начинается с короткого префикса, который является стандартным для объектов данного рода и описывает тип или область видимости. За префиксом следует собственно имя объекта, отражающее его назначение, при этом первый символ имени пишется с заглавной буквы, например, форма frmDefault.

Если имя составлено из нескольких слов, то с заглавной литеры начинается каждое из них, например, frmTextEditor.

Но существуют некоторые ограничения в выборе имени. Имя переменной должно: начинаться с буквы, не содержать точки, быть не более 255 символов, не совпадать с ключевыми словами Visual Basic, быть уникальным в пределах области видимости.


 

Горячие клавиши Visual Basic

Клавиши        Действие

F1        Вызвать справку

Ctrl + Enter    Переход на новую строку в списке

Ctrl + N          Создать новый проект

Ctrl + O          Открыть существующий проект

Ctrl + S           Сохранить выбранную форму

Ctrl + P           Вывести на печать

ALT + Q         Завершение работы Visual Basic

Ctrl + Z           Отменить последнее действие

Ctrl + X          Вырезать выделенный текст (объект) в буфер обмена

Ctrl + C          Копировать выделенный текст (объект) в буфер обмена

Ctrl + V          Вставить выделенный текст (объект) из буфера обмена

DEL    Удаляет один символ, находящийся справа от позиции курсора

Ctrl + A          Выделить все, либо весь текст в коде, либо все объекты на форме

Ctrl + F           Вызывает окно поиска

F3        Найти следующее искомое слово, указанное в окне поиска

Ctrl + H          Вызывает окно замены

Tab      - Выбор требуемого элемента из перечня свойств данного объекта.

- Переход к следующему объекту на форме

- Сделать отступ вправо в коде, указанным числом пробелов

Shift + Tab     - Переход к предыдущему объекту на форме

- Сделать отступ влево в коде, указанным числом пробелов

Ctrl + J            Вывести список всех доступных служебных слов

Ctrl + Shift + J           Вывести список доступных констант

Ctrl + I            Вывести подсказку синтаксиса оператора

Ctrl + Shift + I           Вывести подсказку синтаксиса параметра

Ctrl + Space    - Вывести список всех функций, методов, констант, свойств

- Для завершения набора имени

Shift + F7       Вызвать окно редактирования интерфейса разрабатываемого приложения

Shift + F2       Указывает место объявления выделенной функции

Ctrl + Shift + F2        Перевести указатель мыши в предыдущую позицию

F2        Вызывает окно Object Browser (Браузер объектов)

Ctrl + G          Вызывает окно Immediate

Ctrl + L           Во время выполнения выдаёт окно для просмотра стека выполняемых процедур.

Ctrl + R          Вывести Project Explorer (Проводник проекта)

F4        Вызывает окно Properties Window (Окно свойств формы)

Shift + F4       Вызывает окно Property Pages (Окно свойств страницы)

Ctrl + D          Добавить файл в проект

Ctrl + T           Вызывает окно Components

F8        Шаг с заходом

Shift + F8       Шаг с обходом

Ctrl + Shift + F8        Шаг с выходом

Ctrl + F8         Выполнить до текущей позиции

Ctrl + W         Правка Наблюдателя

Shift + F9       Быстрый Наблюдатель

F9        Установить финиш-точки

Ctrl + Shift + F9        Убрать все финиш-точки

Ctrl + F9         Установить следующее заявление

F5        Запустить проект

Ctrl + F5         Запуск с полной компиляцией

Ctrl + Break    Пауза запущенного проекта

Shift + F5       Перезапуск проекта

Ctrl + E           Вызвать окно Menu Editor (Редактор меню)

Ctrl + клавиша управления Изменение размера выделенного объекта

Shift + клавиша управления           Перемещение выделенного объекта

Дополнения:

' - знак апостроф, указывает, что следующий за ним текст является ремаркой или пояснением и выделяется зеленым цветом, по умолчанию.

_ - используется для разрыва строки кода.

Радиан = градус * Pi/180


 

Неполный справочник по операторам и функциям VB

Материал взят из книги, отредактирован для общего пользования

Abs (функция) - возвращает абсолютное значение числа

And (операция) - логическое И

AppActivate (оператор) - активизирует окно приложения

Array (функция) - создает массив из параметров и возвращает его как переменную типа Variant

Asc (функция) - возвращает числовой код первого символа строки аргумента

Atn (функция) - возвращает арктангенс числа в радианах

Веер (оператор) - проигрывает звуковой сигнал через динамик компьютера

Call (оператор) - передает управление процедуре модуля (Sub), функции модуля (Function) или подпрограмме DLL

CBool (функция) - приводит выражение к типу Boolean

CByte (функция) - преобразует выражение к типу Byte

CCur (функция) - преобразование выражения к типу Currency

CDate (функция) - преобразование выражения к типу Date

CDbl (функция) - преобразование к типу Double

ChDir (оператор) - изменяет текущий каталог на устройстве

ChDrive (оператор) - изменяет текущее устройство

Choose (функция) - возвращает значение из списка аргументов с определенным порядковым номером

Chr (функция) - возвращает символ, связанный с определенным числовым кодом

CInt (функция) - преобразование выражения к типу Integer

CLng (функция) - преобразование выражения к типу Long

Close (оператор) - закрывает файл, открытый оператором Open

Command (функция) - возвращает командную строку, используемую для запуска Visual Basic или приложения на Visual Basic

Const (оператор) - объявления констант

Cos (функция) - возвращает косинус числа

Create Object (функция) - создать OLE Automation объект

CSng (функция) - преобразование выражения к типу Single

CStr (функция) - преобразование выражения к типу String

CurDir (функция) - возвращает текущий каталог логического устройства

CVar (функция) - преобразование выражения к типу Variant

CVErr (функция) - возвращает подтип ошибки, для определенного пользователем номера ошибки

Date (оператор) - устанавливает значение системной даты

Date (функция) - возвращает значение системной даты

DateAdd (функция) - возвращает переменную типа Variant, содержащую дату, отличающуюся от заданной на определенный интервал времени

DateDiff (функция) - возвращает число временных интервалов, между двумя датами

DatePart (функция) - возвращает определенную часть заданной даты

DateSerial (функция) - возвращает дату для заданного года, месяцами, дня

DateValue (функция) - возвращает дату

Day (функция) - возвращает число от 1 до 31, соответствующее текущему дню месяца

DDB (функция) - возвращает значение амортизационных потерь за определенный период

Declare (оператор) - на уровне модуля объявляет ссылки к внешним подпрограммам в DLL

Deftype (операторы) - устанавливает тип данных по умолчанию на уровне модуля для переменных, параметров подпрограмм, а также возвращаемых значений для функций и операторов Property Get, начинающихся с определенных символов

Dim (оператор) - объявляет переменные и выделяет память под них

Dir (функция) - возвращает имя файла или каталог, подходящий для данного шаблона или атрибута файла, или метку тома устройства

DoEvents (функция) - прерывает выполнение приложения

Do... Loop (оператор) - повторяет блок команд до тех пор, пока условие верно или до тех пор, пока условие не станет верным

End (оператор) - заканчивает подпрограмму или блок команд

Environ (функция) - возвращает строку, связанную с переменной окружения операционной системы

EOF (функция) - возвращает значение, указывающее, достигнут ли конец файла

Eqv (оператор) - проверяет логическое равенство двух выражений

Erase (оператор) - повторно инициализирует элементы массивов фиксированного размера и перераспределяет память под динамические массивы

Error (оператор) - эмулирует возникновение ошибки

Error (функция) - возвращает текст сообщения данного номера ошибки

Exit (операторы) - осуществляет выход из циклов Do ... Loop, For... Next, функции и процедур

Ехр (функция) - возвращает экспоненту числа

FileAttr (функция) - возвращает режим открытия или номер (handle) файла

FileCopy (оператор) - копирует файл

FileDateTime (функция) - возвращает дату и время создания или последней модификации файла

FileLen (функция) - возвращает длину файла в байтах

Fix (функция) - возвращает целую часть числа

For Each...Next (оператор) - повторяет одну и ту же последовательность команд для каждого элемента массива или коллекции

For...Next (оператор) - повторяет последовательность команд определенное число раз

Format (функция) - форматирует выражение в соответствии с заданным форматом

FreeFile (функция) - возвращает следующий не занятый номер файла для использования в операторе Open

Function (оператор) - объявляет имя, аргументы и код подпрограммы, возвращающей значение (функции)

FV (функция) - возвращает значение ренты, основываясь на периодических взносах и постоянной норме капиталовложений

Get (оператор) - читает данные из открытого файла в переменную

GetAttr (функция) - возвращает атрибуты файла, каталога или метки тома

GetObject (функция) - возвращает OLE Automation объект для файла сданным расширением

GoSub... Return (оператор) - выполняет подпрограмму

GoTo (оператор) - передает управление определенной строке подпрограммы без возврата контроля

Hex (функция) - возвращает строку, представляющую шестнадцатеричное значение числа

Hour (функция) - возвращает целое число в диапазоне 0 - 23 включительно, представляющее определенный час дня

If...Then... Else (оператор) - выполнение групп команд в зависимости от значения выражения

Iff (функция) - возвращает одно из двух значений в зависимости от значения выражения

Imp (операция) - импликация двух выражений

Input (функция) - возвращает символы из файла, открытого для последовательного доступа или как двоичный файл

Input # (оператор) - считывает данные из открытого файла в переменные

InputBox (функция) - показывает диалоговое окно ввода, ожидает ввода текста и возвращает содержимое введенного текста, после закрытия окна

InStr (функция) - возвращает позицию первой найденной подстроки в строке

Int (функция) - возвращает целую часть числа

Is (операция) - сравнение двух ссылок на объекты

IsArray (функция) - возвращает булево значение, указывающее, является ли данная переменная массивом

IsDate (функция) - возвращает булево значение, указывающее, может ли выражение быть преобразовано к типу Date

IsEmpty (функция) - возвращает булево значение, указывающее, инициализировано ли значение данной переменной

IsError (функция) - возвращает булево значение, указывающее, является ли выражение значением кода ошибки

IsMissing (функция) - возвращает булево значение, указывающее, был ли передан данный необязательный параметр в подпрограмму

IsNull (функция) - возвращает булево значение, указывающее, не содержит ли выражение недопустимое (Null) значение

IsNumeric (функция) - возвращает булево значение, указывающее, может ли данное выражение рассматриваться как число

IsObject (функция) - возвращает булево значение, указывающее, является ли выражение объектом OLE Automation

Kill (оператор) - удаляет файл

LBound (функция) - возвращает значение нижней границы индекса массива

LCase (функция) - возвращает строку в нижнем регистре

Left (функция) - возвращает определенное число символов с начала строки

Len (функция) - возвращает число символов строки или число байт, необходимых для хранения переменной

Let (оператор) - присваивает значение выражения переменной или свойству

Like (операция) - сравнение двух строк

Line Input # (оператор) - считывает строку из файла в переменную

Load (оператор) - загружает в память форму или элемент управления

LoadPicture (функция) - загружает графический образ в объекты: Form,

Loc (функция) - возвращает текущую позицию чтения/записи в открытом файле

Lock (оператор) - контролирует доступ других процессов ко всему или части открытого файла

LOF (функция) - возвращает размер в байтах открытого файла

Log (функция) - возвращает натуральный логарифм числа

LSet (оператор) - копирует строку в строковую переменную, а также копирует значение переменной одного специализированного типа в переменную другого специализированного типа

LTrim (функция) - возвращает копию строки без лидирующих пробелов

Mid (оператор) - замещает определенное число символов в строке на символы из другой строки

Mid (функция) - возвращает определенное число символов с определенной позиции строки

Minute (функция) - возвращает целое число в диапазоне 0 - 59, представляющее минуту часа

MkDir (оператор) - создает новый каталог

Mod (операция) - возвращает остаток от деления двух чисел

Month (функция) - возвращает целое число в диапазоне 1 - 12, представляющее номер месяца

MsgBox (функция) - показывает сообщение в диалоговом окне, ожидает выбор одной из кнопок пользователем и возвращает значение, указывающее, какая кнопка была выбрана

Name (оператор) - переименовывает файл или каталог

Not (операция) - логическое отрицание

Now (функция) - возвращает текущие значения даты и времени

Oct (функция) - возвращает строку, представляющую восьмеричное представление числа

On Error (оператор) - устанавливает обработчик ошибок и задает местоположение подпрограммы обработки; используется также для отмены обработки ошибок подпрограммой обработчика

Оn..GoSub, On...GoTo (операторы) - передача управления на одну из нескольких определенных строк (меток), в зависимости от значения выражения

Open (оператор) - скрывает файл для ввода/вывода

Option Base (оператор) - используется для объявления значения нижней границы размерности индексов массивов по умолчанию

Option Compare (оператор) - используется на уровне модуля для объявления метода сравнения по умолчанию при сравнении строк

Option Explicit (оператор) - используется на уровне модуля для установки проверки наличия объявлений для всех переменных в данном модуле

Option Private (оператор) - используется на уровне модуля для указания, что весь модуль является Private

Or (операция) - логическое ИЛИ

Partition (функция) - возвращает строку, указывающую, сколько раз встретились числа из заданного диапазона

Print # (оператор) - записывает форматированные данные в файл

Private (оператор) - используется на уровне модуля для объявления Private переменных и выделяет место в памяти для их хранения

Property Get (оператор) - объявляет имя, аргументы и код подпрограммы получения значения свойства

Property Let (оператор) - объявляет имя, аргументы и код процедуры установки значения свойства

Property Set (оператор) - объявляет имя, аргументы и код процедуры установки ссылки на объект

Public (оператор) - используется на уровне модуля для объявления Public переменных и выделяет место в памяти для их хранения

Put (оператор) - записывает переменную в файл

QBColor (функция) - возвращает RGB код, соответствующий номеру цвета

Randomize (оператор) - инициализирует генератор случайных чисел

RGB (функция) - возвращает целое число, представляющее значение RGB кода

ReDim (оператор) - используется на уровне подпрограммы для переопределения размера динамических массивов и выделения под них места в памяти

Rem (оператор) - вставка комментариев в программу

Reset (оператор) - закрывает все открытые программой файлы

Resume (оператор) - продолжает выполнение программы после завершения процедуры обработчика ошибок

Right (функция) - возвращает определенное число символов с правой стороны строки

RmDir (оператор) - удаляет каталог

Rnd (функция) - возвращает случайное число

RSet (оператор) - копирует правую часть строки в строковую переменную

RTrim (функция) - возвращает копию строки без конечных пробелов

SavePicture (оператор) - сохраняет в файл графический образ объекта Form, элементов управления PictureBox или Image

Second (функция) - возвращает целое значение в диапазоне 0 - 59,представляющее секунду в минуте

Seek (оператор) - устанавливает позицию для следующей операции чтения или записи в открытый файл

Seek (функция) - возвращает текущую позицию чтения/записи открытого файла

Select Case (оператор) - выполняет одну или несколько команд, в зависимости от значения выражения

SendKeys (оператор) - посылает одно или несколько нажатий клавиш активному окну, как если бы они были введены пользователем с клавиатуры

Set (оператор) - связывает ссылку на объект с переменной или свойством

SetAttr (оператор) - устанавливает атрибуты файла

Sgn (функция) - возвращает знак числа

Shell (функция) - запускает внешнюю программу на выполнение

Sin (функция) - возвращает значение синуса угла

Space (функция) - возвращает строку, содержащую определенное число пробелов

Spc (функция) - позиционирование в строке вывода

Sqr (функция) - подсчет значения квадратного корня числа

Static (оператор) - используется на уровне модуля для объявления переменных и выделяет место в памяти для их хранения. Переменные сохраняют значения до завершения программы

Stop (оператор) - приостанавливает выполнение программы

Str (функция) - возвращает строковое представление числа

StrComp (функция) - возвращает результат сравнения строк

StrConv (функция) - возвращает преобразованную строку

String (функция) - возвращает строку заданной длины из одинаковых символов

Sub (оператор) - объявляет имя, параметры и тело процедуры

Switch (функция) - подсчитывает значения списка выражений и возвращает значение или выражение, связанное с выражением из списка, значение которого равно True

Tab (функция) - позиционирование в строке вывода

Tan (функция) - возвращает значение тангенса угла

Time (оператор) - устанавливает значение системных часов

Time (функция) - возвращает значение типа Date, указывающее текущее системное время

Timer (функция) - возвращает число секунд, прошедших после полуночи

TimeSerial (функция) - возвращает значение типа Date, содержащее время для заданного часа, минуты и секунды

Time Value (функция) - возвращает значение типа Date, содержащее время суток

Trim (функция) - возвращает копию строки без начальных и конечных пробелов

Type (оператор) - объявляет на уровне модуля специализированный тип данных

TypeName (функция) - возвращает строку информации о заданной переменной

UBound (функция) - возвращает значение наибольшего индекса для данной размерности массива

UCase (функция) - возвращает строку, преобразованную в верхний регистр

Unload (оператор) - выгружает форму или элемент управления из памяти

Unlock (оператор) - контролирует доступ других процессов ко всему или части открытого файла

Val (функция) - возвращает числовое представление строки

VarType (функция) - возвращает значение, указывающее тип переменной

Weekday (функция) - возвращает целое число, представляющее день недели

While...Wend (оператор) - выполняет в цикле последовательность команд до тех пор, пока верно условие

Width # (оператор) - назначает ширину строки вывода для операции записи в открытый файл

With (оператор) - выполняет последовательность команд для конкретного объекта или переменной специализированного типа

Write # (оператор) - записывает данные в файл

Хоr (операция) - исключающее ИЛИ

Year (функция) - возвращает целое число, представляющее год


 

Операторы VBA

Язык VBA был разработан таким образом, чтобы его можно было достаточно легко и быстро изучить, а затем ежедневно использовать. Язык VBA полезен как профессиональным программистам, так и простым пользователям, для автоматизации повседневной рутинной работы. Какой бы не была Ваша цель: упростить повседневную работу или повысить производительность труда, безусловно, язык VBA лучше всего подходит для этих целей, поскольку он разработан специально для работы с приложениями пакета Microsoft Office.

Знание операторов является необходимой основой для изучения любой темы по VBA, т.е. прежде чем браться за изучение языка, стоит достаточное время уделить операторам и функциям.

Операторы VBA

AppActivate title, wait - Активизирует открытое приложение по заданному аргументом title заголовку или идентификатору задачи

Beep - подача звукового сигнала

Call name, argumentlist - Вызов процедуры с названием name. (Поскольку ключевое слово Call необязательно и можно вызвать процедуру, используя только ее имя, этот оператор редко используется в программировании VBA)

ChDir path - Заменяет текущую папку папкой, указанной аргументом path

Close filenumberlist - Изменяет текущий диск на диск, указанный аргументом drive

Const CONSTNAME - Объявляет константой переменную с именем CONSTNAME

Date = date - Изменяет системную дату на дату, указанную аргументом date

Declare name - Объявляет процедуру из динамически присоединяемой библиотеки (DLL)

DefBool letterrange - Оператор уровня модуля, устанавливающий тип Boolean типом данных по умолчанию для всех переменных, которые начинаются с букв, указанных аргументом letterrange (например, DefBool A-F)

DefByte letterrange - Задает тип Byte как тип данных по умолчанию для всех переменных, которые начинаются с букв, указанных аргументом letterrange

DefCur letterrange - Задает тип Currency как тип данных по умолчанию для всех переменных, которые начинаются с букв, указанных аргументом letterrange

DefDate letterrange - Задает тип Date как тип данных по умолчанию для всех переменных, которые начинаются с букв, указанных аргументом letterrange

DefDbl letterrange - Задает тип Double как тип данных по умолчанию для всех переменных, которые начинаются с букв, указанных аргументом letterrange

DefInt letterrange - Задает тип Integer как тип данных по умолчанию для всех переменных, которые начинаются с букв, указанных аргументом letterrange

DefLng letterrange - Задает тип Long как тип данных по умолчанию для всех переменных, которые начинаются с букв, указанных аргументом letterrange

DefObj letterrange - Задает тип Object как тип данных по умолчанию для всех переменных, которые начинаются с букв, указанных аргументом letterrange

DefSng letterrange - Задает тип Single как тип данных по умолчанию для всех переменных, которые начинаются с букв, указанных аргументом letterrange

DefStr letterrange - Задает тип String как тип данных по умолчанию для всех переменных, которые начинаются с букв, указанных аргументом letterrange

DefVar letterrange - Задает тип Variant как тип данных по умолчанию для всех переменных, которые начинаются с букв, указанных аргументом letterrange

DeleteStting appname, section, key - Удаляет раздел section или ключ key из реестра Windows

Dim varname - Объявляет переменную с именем varname

Do:Loop - Выполняет цикл по нескольким операторам до тех пор, пока логическое условие равно True

End Keyword - Завершает процедуру, функцию или управляющую структуру

Enum name - Оператор уровня модуля, который объявляет переменную перечислимого типа

Erase arraylist - Очищает память от динамически выделенного массива или выполняет повторную инициализацию массива с фиксированными размерами

Error errornumber - Имитирует ошибку, присваивая объекту Err значение errornumber

Event procedurename(arglist) - Оператор может присутствовать только в модуле класса. Он объявляет событие, определенное пользователем

Exit keyword - Выход из процедуры, функции или управляющей структуры

FileCopy source, destination - Копирует файл source в папку destination (при этом можно изменить имя исходного файла)

For Each:Next - Цикл по каждому члену коллекции

For:Next - Цикл по нескольким операторам, выполняемый до тем пор, пока счетчик цикла не достигнет заданного значения

Function - Объявляет пользовательскую процедуру-функцию

Get #filenumber, varname - Производит чтение в переменную из файла ввода-вывода, открытого оператором Open

GoSub:Return - Осуществляет вход в подпрограмму, описанную в процедуре, и выход из нее. (Использование этого оператора не рекомендуется, поскольку создание отдельной процедуры позволит сделать код более простым для понимания)

GoTo line - Передает управление на строку кода, на которую указывает метка line

If:Then:Else - Выполняет один из двух фрагментов кода на основе результата логической проверки

Imlements InterfaceName, Class - Определяет название интерфейса или класса, который будет реализован в модуле класса

Input #filenumber, varlist - Производит чтение из файла ввода-вывода в переменные

Kill pathname - Удаляет файл pathname с диска

Let varname = expression - Устанавливает переменную varname равной выражению expression. Ключевое слово Let необязательно и практически никогда не используется

Line Input #filenumber, var - Производит чтение одной строки из файла ввода-вывода и сохраняет ее в строковой переменной

Load - Загружает форму в память, но не выводит ее на экран

Lock #filenumber, recordrange - Управляет доступом к файлу ввода-вывода

LSet stringvar = string - Размещает строку, начиная с крайнего слева символа, в переменной типа String. При этом размер переменной не изменяется

LSet var1 = var2 - Копирует переменную одного пользовательского типа в переменную другого, но совместимого, пользовательского типа

Mid - Заменяет заданное количество символов в строковой переменной символами из другой строки

MidB - Побайтно заменяет символы в строковой переменной символами из другой строки

MkDir path - Создает папку с именем path

Name oldpathname as newpathname - Изменяет имя файла или папки

On Error - Задает способ обработки ошибок

On:GoSub, On:GoTo - Передает управление заданной строке на основе результата выражения

Open pathname, : - Открывает файл для ввода-вывода

Option Base 0|1 - Задает (на уровне модуля) для массивов установленную по умолчанию нижнюю границу (номер первого элемента)

Option Compare Text|Binary - Определяет (на уровне модуля) установленный по умолчанию режим сравнения строк

Option Explicit - Принуждает программиста к явному объявлению переменных. Введите этот оператор на уровне модуля

Option Private - Указывает, что модуль закрыт, и к нему нельзя обратиться из процедур, расположенных в других модулях. Введите оператор на уровне модуля

Print #filenumber - Производит запись в файл ввода-вывода

Private varname - Объявляет, что переменная varname будет закрытой, и ею можно будет пользоваться только в модуле, в котором она объявлена. Введите оператор на уровне модуля

Property Get - Объявляет процедуру свойства, которая будет принимать значения этого свойства

Property Let - Присваивает значение свойству в процедуре свойства

Property Set - Устанавливает ссылку на объект в процедуре свойства

Public varname - Открывает доступ к переменной varname для всех процедур, содержащихся в модуле

Put #filenumber, varname - Записывает данные из переменной varname а файл ввода-вывода

RaiseEvent eventname, arguments - Вызывает событие с именем eventname

Randomize number - Инициализирует генератор случайных чисел. Пропустить аргумент number, чтобы каждый раз инициализировать его разными начальными числами

ReDim varname - Повторно выделяет память для динамического массива

Rem comment - Указывает VBA, что следующий за оператором текст является комментарием. Вместо этого оператора чаще используется символ апострофа

Reset - Закрывает все файлы ввода-вывода, которые были ранее открыты оператором Open

Resume - После возникновения ошибки возобновляет выполнение программы со строки, в которой возникла ошибка

RmDir path - Удаляет папку

RSet stringvar = string - Записывает строку в строковую переменную, выравнивая символы по правому краю

SaveSetiing appname, : - Создает или сохраняет установки в реестре Windows

Seek #filenumber, position - Устанавливает текущую позицию в файле ввода-вывода

Select Case - Выполняет группу операторов на основе значения выражения

SendKeys string, wait - Передает в активное приложение нажатия клавиш, заданные строкой string так, как будто они были введены с клавиатуры

Set objectvar = object - Присваивает объект object объектной переменной с именем objectvar

SetAttr pathname, attr - Задает атрибуты доступа, определенные аргументом attr (например, vbReadOnly) для файла, заданного аргументом pathname

Static varname - Объявляет (на уровне модуля), что переменная varname будет сохранять свои значения все время, пока будет выполняться код модуля

Stop - Переводит VBA в режим паузы

Sub - Объявляет процедуру

Time = time - Устанавливает системное время равным аргументу time

Type varname - Объявляет пользовательский тип данных. (Используется только на уровне модуля)

Unload - Удаляет форму из памяти

Unlock #filenumber, recordrange - Удаляет атрибуты доступа для файла ввода-вывода

While:Wend - Выполняет цикл по группе операторов до тех пор, пока логическое условие истинно

Width #filenumber, width - Задает ширину строки для файла ввода-вывода

With:End With - Выполняет группу операторов для заданного объекта

Write #filenumber - Производит запись данных в файл ввода-вывода


 

Типы переменных Visual Basic 6.0

Boolean - булев тип данных может хранить только два значения: True либо False, истина или ложь. Его использование вместо целочисленных переменных является хорошим стилем программирования.

Byte - байтовый тип является новым в Visual Basic 5 и предназначен для хранения целых чисел от 0 до 255. Его использование позволяет сильно экономить оперативную память и уменьшать размер массивов по сравнению с предыдущими версиями Visual Basic. Кроме того, он используется при работе с двоичными файлами.

Currency - данный тип отсутствовал в версиях GW-BASIC и QuickBASIC. Он создан для того, чтобы избежать ошибок при преобразовании десятичных чисел в двоичную форму и наоборот. (Невозможно 1/10 представить как сумму 1/2,1/4, 1/8, 1/16 и т.п.) Данный тип может иметь до 4 цифр после запятой, и до 14 - перед ней. Внутри данного диапазона вычисления будут точными. Идентификатор представляет собой символ "@". Поскольку все арифметические операции, кроме сложения и вычитания, выполняются так же медленно, как и в случае переменных с двойной точностью, данный тип является предпочтительным для проведения финансовых расчетов. (Для тех, кто интересуется: данный тип использует целые числа из 19 разрядов, которые затем делятся на 10000. Это позволяет организовать 15 знаков до запятой и 4 после нее.)

Date - этот тип данных позволяет хранить значения времени и даты в промежутке от полуночи 1 января 100 года до полуночи 31 декабря 9999 года. Такие значения в тексте программ обозначаются символами "#", например: NewYear = #January 1, 2000# Если вводится только значение даты, Visual Basic полагает, что время равняется 00:00.

Decimal - самый мощный числовой тип. Для хранения переменной подобного типа отводиться 16 байт. Отрицательная и положительная границы промежутка, в котором располагаются возможные значения этой переменной, одинаковы по модулю и равны +/- 79 228 162 514 264 337 593 543 950 335, если использовать целые числа. Если же необходимо хранить дробные величины, то границы возможных значений будут смещены на несколько порядков в зависимости от того, сколько знаков после запятой использует разработчик. Подобный тип может использоваться только для хранения десятичных дробей. Разработчик может использовать до 28 знаков после запятой.

Double - переменные такого типа позволяют хранить числа с точностью до 16 цифр и длиной до 300 символов. Идентификатором является "#". Вычисления с ними тоже являются приблизительными, а скорость их относительно небольшая. В основном переменные типа Double используются для научных расчетов.

Integer - целочисленные переменные могут хранить только относительно небольшие целые числа (в диапазоне от -32 768 до +32 767). Арифметические операции над такими числами выполняются очень быстро. Для обозначения такого типа используется символ "%": IntegerPerem% = 3

Long - данный тип впервые появился в языке QuickBASIC. В таких переменных хранятся целые значения от -2 147 483 648 до +2 147 483 647. Обозначается символом "&". Арифметические операции над такими числами выполняются тоже очень быстро, и при работе с процессором 386DX или 486DX существовала лишь небольшая разница в скорости вычислений между Long и Integer. LongPerem& = 123456789

Object - по сути, переменная подобного типа является всего лишь ссылкой на некий конкретный экземпляр какого либо объекта. Для хранения переменной отводятся 4 байта.

Single - идентификатором для данных чисел является символ "!". Данный тип переменной позволяет хранить дробные числа с точностью до семи цифр. Это означает, что если получается результат 12345678.97, то часть 8.97 не является точной. Результат может быть равен, к примеру, 12345670.01. Длина чисел может достигать 38 знаков. Вычисления с данными переменными тоже будут приблизительными. Более того, арифметические действия выполняются медленнее, чем с целочисленными переменными.

String - строковые переменные хранят символы. Один из способов обозначить данный тип переменной состоит в добавлении символа "$" к концу ее имени, например: StringPerem$. Теоретически такая переменная может содержать до 2 миллиардов символов. В любом случае на конкретном компьютере это число будет гораздо меньше из-за ограниченных объемов оперативной памяти, ресурсов Windows или числа символов, используемых в форме. Одно из наиболее основных применений строковых переменных состоит в выборе информации из полей ввода.

Например, при изменении текста в текстовое поле 1, в текстовом поле будет отображаться тот же текст, но без последнего символа справа:

Option Explicit

Dim strText As String

 

Private Sub Form_Load()

Text1.Text = ""

Text2.Text = ""

End Sub

 

Private Sub Text1_Change()

On Error Resume Next

Text2.Text = strText

strText = Left(Text1.Text, Len(Text1.Text) - 1)

End Sub

Variant - данный тип добавлен в Visual Basic 5 из версии 2.0. Переменная типа variant может содержать данные любого типа. Если Visual Basic не знает тип принимаемых данных, необходимо использовать variant. Тип информации не имеет значения, поскольку variant может содержать любой тип данных (численный, дата/ время, строковый). Visual Basic автоматически производит необходимые преобразования данных, поэтому не стоит беспокоиться об этом. С другой стороны, можно использовать встроенные функции для проверки типа данных, хранящихся в переменной типа variant. Они позволяют легко проверить, правильно ли пользователь вводит информацию. Использование такого типа данных, как variant, замедляет работу программы, так как требуется время и ресурсы для операций преобразования типов. Кроме того, многие программисты понимают, что использование автоматических преобразований типов данных приводит к неаккуратному виду программ. Единственная причина в использовании variant состоит в возможных ошибках при преобразовании типов непосредственно программистом.

Иногда, при использовании некоторых операторов, API-функций, а также просто для собственных нужд необходимо создавать собственные типы данных. Часто их называют структурами. По своей сути структура - это как бы одномерный массив, который мы запихиваем в одну переменную. Но в него могут входить данные разных типов.

Создание собственного типа данных осуществляется с помощью инструкции Type, который используется в секции General кода формы.


 

Функции и процедуры в VB

Процедуры и функции представляют собой отдельные блоки, из которых складывается код программы, каждая процедура выполняет какую-то задачу или ее часть.

Процедуры обработки событий после вызова постоянно находятся в ожидании событий.

Кроме процедур обработки событий в программу можно включить процедуры и функции не связанные с событиями. Они выполняют отдельные действия и могут быть использованы неоднократно. Назовем их общими. Процедуры общего назначения вызываются на выполнение в коде программы. Использование процедур экономит время и позволяет избежать лишних ошибок. Функции отличаются от процедур тем, что возвращают какое-то значение.

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

Функция - это подпрограмма, которую вызывают, чтобы выполнить какие-то расчеты или проверки. Когда она завершает работу, то возвращает управление вызывающей программе и передает ей результат расчета.

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

Синтаксис объявления процедуры и функции:

[Public/Private][Static] Sub <Имя процедуры> (<Параметры>)

<Операторы>

End Sub

Function <Имя функции> [As тип]

<Операторы>

End Function

Процедуры, объявленные с ключевым словом Public, можно вызвать в любом модуле приложения (каждая форма - это отдельный модуль).

Процедуры объявленные как Private, можно вызывать только в текущем модуле.

Слово Static означает, что все переменные, объявленные в процедуре, будут статическими, т.е. их значения сохраняются между вызовами.

Параметры обеспечивают связь процедуры с приложением. Это данные, передаваемые в процедуру при вызове.

Процедуры обработки событий. Вызываются в том, случае если произошло какое-либо событие. При этом существенным является как имя элемента, та и вид события, который с ним произошел.

Пользовательские процедуры. Группы операторов, создаваемые разработчиком для выполнения определенных задач и не зависящие от текущего состояния приложения или произошедших в тот или иной момент событий.

Встроенные функции. Определенные наборы команд, имеющиеся в языке Visual Basic и в предназначенные для вычисления тех или иных значений на основании исходных данных. Встроенными являются, в частности, как математические, так и строковые функции (Abs, Cos, Sin, Mid, Len и т.д.)

Пользовательские функции. Группы операторов, аналогичные пользовательским процедурам.

Однако между ними есть ряд отличий.

Основные отличия функции от процедуры состоят в следующем.

1. Функция имеет тип (аналогично переменной) и может возвращать в программу значение, которое присваивается функции при помощи оператора:

<Имя функции> = значение

2. Вызов функции, как правило, осуществляется посредством указания в правой части какого-либо оператора ее имени и параметров. С другой стороны, процедура вызывается при помощи отдельного оператора:

Call <Имя процедуры> (Параметры)

Или

<Имя процедуры> (Параметры)

Если при вызове процедуры используется ключевое слово Call, то список параметров должен быть указан в скобках. Если же процедура вызывается без использования Call, то ее параметры перечисляются без скобок.

Необходимо отметить, что вызываемая процедура может не иметь параметров. В этом случае (если использовалось служебное слово Call) после имени процедуры следует ставить пустые скобки.

Пользовательские процедуры обычно используются при необходимости выполнения одной и тоже последовательности операций. Например, в программе требуется неоднократно вводить в цикле значения массива arrA, состоящего из пяти элементов. В этом случае заполнение массива лучше всего оформить в виде процедуры.

Команда Add Procedure меню Tools позволяет добавить процедуру или функцию.

Пусть процедура Cir вычерчивает эллипс с координатами x, y, которые передаются в процедуру как параметры. Создавая процедуру Cir командой Add Procedure, нужно указать имя процедуры и выбрать область видимости Public или Private.

Завершив диалог, получим объявление процедуры:

Private Sub Cir()

:

End Sub

Теперь нужно вписать параметры в скобки и написать текст процедуры. В списке параметров рекомендуется указывать тип переменных.

Private Sub Cir(x As Integer, y As Integer)

Circle (x,y),500,,,2

End Sub


 

http://www.vbrussian.com/

Хитрости

 

Печать форм, размер которых превышает размер экрана

Используйте PrintForm. Только нужно форму делать дитем от МДИ, наче печатает только то, что было бы видно на экране (я эти формы даже не показываю), без рамок и с белым цветом фона. Размер формы должен соответствовать размеру бумаги - лекго считать через твипы и миллиметры. Чтобы размер изображений соответствовал бланку я сканирую чистый бланк (с экранным разрешением), кладу его фоновым рисунком, рисую по нему таблицы, текст и т.д, а потом убираю.

 

Сделать программу невидимой в списке задач Windows 9х

Option Explicit

Private Declare Function RegisterServiceProcess Lib "kernel32.dll" _

                          (ByVal dwProcessId As Long, ByVal dwType As Long) As Long

Private Declare Function GetCurrentProcessId Lib "kernel32.dll" () As Long

Private Sub toVisible()

      Call RegisterServiceProcess(GetCurrentProcessId, 0)

 End Sub

Private Sub toInvisible()

      Call RegisterServiceProcess(GetCurrentProcessId, 1)

 End Sub

 

Запуск внешней программы с ожиданием ее завершения

Private Const INFINITE = &HFFFF

Private Declare Function WaitForSingleObject Lib "kernel32" (ByVal hHandle As Long, _

                ByVal dwMilliseconds As Long) As Long

Private Declare Function OpenProcess Lib "kernel32" (ByVal dwAccess As Long, _

                ByVal fInherit As Integer, ByVal hObject As Long) As Long

Private Sub Command1_Click()

          WaitForProcessToEnd "C:\test.BAT"

          'Let the user know when the process is finished.

          MsgBox "The process is finished! "

  End Sub

 

  Public Sub WaitForProcessToEnd(cmdLine As String)

          'You can substitute a discrete time

          'value in milliseconds for INFINITE.

          Dim retVal As Long, pID As Long, pHandle _

                  As Long

          pID = Shell(cmdLine)

          pHandle = OpenProcess(&H100000, True, pID)

          retVal = WaitForSingleObject(pHandle, INFINITE)

  End Sub

 

Вывод на экран постоянного показа позиции курсора в ToolTyp'е

В своей программке столкнулся с необходимостью вывода на экран постоянного показа позиции курсора в ToolTyp'е. Я думаю, что этот пример подойдет для твоего раздела хитростей:

1. Создаем форму Form1, размещаем на ней PictureBox с именем Picture1. Вводим код:

Option Explicit

Private clsPictureBox1 As Class1

Private Sub Form_Load()

    Set clsPictureBox1 = New Class1

    Set clsPictureBox1.Coordinat = Picture1

End Sub

2. Создаем модуль класса Class1 и размещаем в нем код:

Option Explicit

Private WithEvents pic As PictureBox

Public Property Set Coordinat(OutsidePictureBox As PictureBox)

    Set pic = OutsidePictureBox

End Property

Private Sub pic_MouseMove(Button As Integer, Shift As Integer, _

                          X As Single, Y As Single)

    pic.ToolTipText = "X = " & X & "; Y = " & Y

End Sub

 

Как выбрать n - ый элемент не перебирая все n-1

Мало кто использует встроенную функциб Бэйсика Choose. А зря. Все очень просто:

Choose(5, "A", "B", "C", "D", "F")

Вернет вам F , очень удобно для работы с днями недели, месяцами, или просто для выбора

 

Как же выключить компьютер в Windows XP?

Я долго искал способ выключить компьютер в Windows XP? Например: функция ExitWindows() вообще сдохла, а ExitWindowsEx() делает только LOGOFF. И однажды нашЈл на одном форуме:

Dim strComputer As String

strComputer = "."

Set objWMIService = GetObject("winmgmts:" _

& "{impersonationLevel=impersonate, _

(Shutdown)}!\\" & strComputer & "\root\cimv2")

Set colOperatingSystems = objWMIService.ExecQuery( _

 "Select * from Win32_OperatingSystem")

For Each ObjOperatingSystem In colOperatingSystems

   ObjOperatingSystem.Reboot ' Для перезагрузки

Next

и?

Dim strComputer As String

strComputer = "."

Set objWMIService = GetObject("winmgmts:" & _

"{impersonationLevel=impersonate,(Shutdown)}!\\" & strComputer & "\root\cimv2")

Set colOperatingSystems = objWMIService.ExecQuery( _

"Select * from Win32_OperatingSystem")

For Each ObjOperatingSystem In colOperatingSystems

ObjOperatingSystem.ShutDown 'Для выключения

Next

 

Примечание:

Данный код работает и для VBScript?

 

Замена системных цветов на свои собственные

На пустую форму положите этот код:

Option Explicit

Private Declare Function SetSysColors Lib "user32" _

(ByVal nChanges As Long, lpSysColor As _

Long, lpColorValues As Long) As Long

Private Declare Function GetSysColor& Lib "user32" (ByVal nIndex As Long)

 

'Можно использовать следующие константы

Private Const COLOR_SCROLLBAR = 0 'The Scrollbar colour

Private Const COLOR_BACKGROUND = 1 'Colour of the background with no wallpaper

Private Const COLOR_ACTIVECAPTION = 2 'Caption of Active Window

Private Const COLOR_INACTIVECAPTION = 3 'Caption of Inactive window

Private Const COLOR_MENU = 4 'Menu

Private Const COLOR_WINDOW = 5 'Windows background

Private Const COLOR_WINDOWFRAME = 6 'Window frame

Private Const COLOR_MENUTEXT = 7 'Window Text

Private Const COLOR_WINDOWTEXT = 8 '3D dark shadow (Win95)

Private Const COLOR_CAPTIONTEXT = 9 'Text in window caption

Private Const COLOR_ACTIVEBORDER = 10 'Border of active window

Private Const COLOR_INACTIVEBORDER = 11 'Border of inactive window

Private Const COLOR_APPWORKSPACE = 12 'Background of MDI desktop

Private Const COLOR_HIGHLIGHT = 13 'Selected item background

Private Const COLOR_HIGHLIGHTTEXT = 14 'Selected menu item

Private Const COLOR_BTNFACE = 15 'Button

Private Const COLOR_BTNSHADOW = 16 '3D shading of button

Private Const COLOR_GRAYTEXT = 17 'Grey text, of zero if dithering is used.

Private Const COLOR_BTNTEXT = 18 'Button text

Private Const COLOR_INACTIVECAPTIONTEXT = 19 'Text of inactive window

Private Const COLOR_BTNHIGHLIGHT = 20 '3D highlight of button

 

Dim OldColor As Long

 

Private Sub Form_Load()

    'Запоминаем текущий цвет

    OldColor = GetSysColor(COLOR_ACTIVECAPTION)

   

    SetSysColors 1, COLOR_ACTIVECAPTION, RGB(255, 0, 0)

End Sub

 

Private Sub Form_Unload(Cancel As Integer)

    'Восстанавливаем текущий цвет

    SetSysColors 1, COLOR_ACTIVECAPTION, OldColor

End Sub

 

Как перезагрузить Windows

Разместите в модуле:

   Public Declare Function ExitWindowsEx Lib "user32" (ByVal uFlags As Long, _

     ByVal dwReserved As Long) As Long

 

   Public Const EWX_LOGOFF = 0

   Public Const EWX_SHUTDOWN = 1

   Public Const EWX_REBOOT = 2

   Public Const EWX_FORCE = 4

 

А это в коде:

   Dim s As Long

 

   'Так можно сделать Shut down

    s = ExitWindowsEx(EWX_SHUTDOWN, 0&)

 

   'Так можно сделать Log off   s = ExitWindowsEx(EWX_LOGOFF, 0&)

 

   'А так Reboot    s = ExitWindowsEx(EWX_REBOOT, 0&

 

maatanin@yandex.ru

Сайт живет



Hosted by uCoz