oldi

Новости и советы для тех, кто пишет на VB и VBA

Андрей Колесов, Ольга Павлова

Нам пишут

  Не VB 6.0 единым…

  Ретро — MS Basic для DOS

Отвечаем на вопросы читателей

  Передача параметров через свойства объектов

  Передача данных через параметры процедур

  Передача данных через глобальные переменные

Новые книги по VB и VBA

  Visual Basic 6.0 и Office 2000

  Все для разработчика баз данных

Новости

  Программа Microsoft Office Extensions продолжается

  Visual Basic 7.0 уже не за горами

  Новые русскоязычные Web-ресурсы по VB

Нам пишут

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

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

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

Пишите по адресу: akolesov@glasnet.ru

В начало

В начало

Не VB 6.0 единым…

Мы стараемся писать о новинках мира Visual Basic, при этом прекрасно понимая, что реальный круг пользователей в силу известных причин работает с самыми разнообразными предыдущими версиями, в том числе и 16-разрядными VB 3 и VB 4. Наша позиция тут вполне ясна: мы понимаем, что сегодня для целого ряда пользователей и класса задач наилучшим образом именно эти системы и подходят. И проблема здесь не только в отсутствии необходимой техники и других аспектах обновления платформы.

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

Именно поэтому мы можем сказать, что если вы только начинаете освоение VB-программирования, вполне вероятно, что VB3 вам подойдет лучше, чем VB6: те возможности, которые понадобятся вам на первых порах, там описаны лучше. Не говоря уже о более скромных запросах к технике. Здесь можно вспомнить о классическом законе статистики, который в данном случае звучит так: 80 процентов VB-разработчиков используют 20 процентов возможностей системы.

Наш читатель из города Ангарска Андрей Игнатов (он работает в отделе АСУТП нефтеперерабатывающего завода и использует VB4/16) посетовал на то, что разрыв между нашими публикациями и его конкретными проблемами постоянно увеличивается. Эта проблема отражает общую слабость нашего рынка VB-программирования: мы не успеваем даже отслеживать новшества, и тем более не можем позволить себе еще и возвращаться к старым версиям. Когда VB-программистов будет больше, когда они станут наперебой покупать журнал КомпьютерПресс, тогда и редакция озадачит авторов: «А напишите-ка нам про QuickBasic».

В начало

В начало

Ретро — MS Basic для DOS

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

Например, американец Роджер Дженнингс, автор очень профессиональной книги о базах данных (рецензия на нее публикуется в этом разделе), в главе «Для кого написана эта книга» указывает в одном из пунктов: «Для разработчиков, которые хотят перейти от DOS к Windows. Удивительно, но большое количество коммерческих приложений по-прежнему широко использует DOS!»

Тут можно вспомнить также о нашей системе образования (не только среднего, но и высшего), для которой этот инструмент сегодня является наиболее доступным (мы не говорим о единичных элитарных исключениях). Можно привести довольно много примеров использования простого QBasic из состава MS-DOS 5.0 даже в «продвинутых» вариантах, в частности для реализации механизма CGI на Web-серверах. Объяснение этому очень простое — для реализации целого ряда задач (например, для преобразования ASCII-файлов из одного формата в другой) QB подходит гораздо лучше, чем громоздкий VB 6.

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

Конечно же, вопросы программирования на Basic давно уже не являются актуальными, хотя прослеживать «связь времен» и поиск полезного опыта просто необходимо. У нас, авторов рубрики, осталось очень много разнообразных материалов по DOS’овским версиям (библиотеки подпрограмм, утилиты, статьи и пр.), которыми мы готовы поделиться со всеми желающими. Более подробную информацию об этих материалах можно найти по адресу: www.visual.2000.ru/develop/vb/dos/. Как мы уже писали года два назад, «…мы еще повоем на луну Basic/DOS».

В начало

В начало

Отвечаем на вопросы читателей

Вопрос:

Пишем программу на VB4/16 и не можем передать переменную или массив из одной формы в другую. Если вас не затруднит, помогите советом.

Ответ:

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

В начало

В начало

Передача параметров через свойства объектов

Для этого создадим две формы Form1 и Form2, на каждой из которых разместим текстовое поле и командную кнопку. При такой последовательности создания форм в качестве стартовой формы приложения будет выбрана Form1. В VB4 этот параметр корректируется командой Tools|Options|Project|Startup Form, в VB5/6 — Project|Project Properties|General|Startup Object.

Для элементов Form2 установим имена элементов управления как Text2 и Command2 соответственно (чтобы зрительно различать объекты по их именам), а также Text2.Text = “Text2”. Для кнопок Command1 и Command2 установим, соответственно, такие свойства Caption: «Запустить Form2» и «Вернуть управление в Form1». Напишем для них следующий программный код:

Private Sub Command1_Click() 
    Form2.Show 1 ‘ вывод Form2 в модальном режиме 
End Sub

для формы Form2 (для внешнего элемента управления Text1 обязательно указание имени формы Form1):

Private Sub Form_Activate() 
    ‘ установка при запуске формы 
    Text2.Text = Form1.Text1.Text 
    Form1.Text1.Text = “” ‘очистить поле 
End Sub 
Private Sub Command2_Click() 
    ‘ Возврат в Form1 
    ‘ переписываем содержимое Text2 в Text1 
    Form1.Text1.Text = Text2.Text 
    Form2.Hide ‘ закрыть форму 
End Sub

Обратите внимание, что форма Form2 запускается в модальном режиме (значение параметра равно 1). Это означает, что фокус приложения переходит в Form2: родительская форма Form1 остается видимой, но недоступной для каких-либо операций. Запустите приложение и нажмите кнопку «Запустите Form2» — появится форма Form2, при этом в поле Text2 будет записано содержимое Text1. (Само поле Text1 при этом очистится.) Теперь нажмите «Вернуть управление в Form1» — управление вернется в Form1, и в поле Text1 будет установлено содержимое Text2. (Вы можете сами устанавливать содержимое полей, чтобы убедиться в правильности обмена информацией.)

Таким образом, мы видим, как происходит передача информации от одной формы к другой в виде установки или чтения свойств элементов управления. Все формы и находящиеся на них элементы управления являются глобальными: их свойства и методы доступны из процедур других модулей (в том числе BAS-модулей). Вот как выглядит полное имя элемента управления:

[Имя_Формы.]Имя_Элемента_Управления

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

В начало

В начало

Передача данных через параметры процедур

Продолжим наши эксперименты. Создадим на форме Form1 еще одну командную кнопку, для которой установим свойства Name = Command11 и Caption = “Второй вариант запуска”, и напишем для нее такой код:

Private Sub Command11_Click() 
‘ второй вариант запуска 
Call Form2.Text2_KeyPress(65) 
End Sub

Для поля Text2 на форме Form2 напишем следующую процедуру:

Public Sub Text2_KeyPress(KeyAscii As Integer) 
    Show ‘ запуск формы Form2 в немодальном режиме 
    Text2.Text = “Значение = “ & KeyAscii 
End Sub

Запустите на выполнение приложение, нажмите на форме Form1 кнопку Command21 и вы увидите картину, изображенную на рис. 1. В этом примере мы обратились из формы Form1 напрямую к процедуре Form2 (в данном случае к Text2_KeyPress) и даже передали в нее информацию в виде параметра процедуры. Но обратите внимание, что выше мы установили для событийной процедуры Text2_KeyPress тип Public вместо Private по умолчанию.

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

Гораздо лучше для реализации второго варианта создать в Form2 простую процедуру, например с именем Start3 (но обязательно типа Public):

Public Sub Start3(StartName$) 
    Show ‘запуск формы Form2 
    Text2.Text = StartName$ 
End Sub

а в процедуре Command11_Click (форма Form1) записать такой код:

Private Sub Command11_Click() 
        Call Form2.Start3(“Третий вариант запуска”) 
End Sub

Очевидно, что в этом случае мы может реализовать любой вариант передачи параметров из Form1 в Form2, в том числе и массивы.

Совсем другой вопрос: что мы будем делать с передаваемыми параметрами? В приведенном здесь примере мы их сразу использовали для формирования свойств объектов. Можно также переписать эти данные в глобальные переменные на уровне данного модуля (формы), которые затем передать в другие процедуры.

В начало

В начало

Передача данных через глобальные переменные

Еще один вариант передачи данных между модулями — использование глобальных переменных, доступ к которым разрешен из любых процедур приложения. Однако нужно иметь в виду, что в VB такие переменные можно создавать только в модуле кода BAS. Поэтому если вы хотите, чтобы обе созданные нами формы работали с общими данными, нужно создать BAS-модуль и в нем описать соответствующие глобальные переменные:

Global MyArray$(), MyVar As Integer

В форме Form1 создадим еще одну командную кнопку Command12 и запишем для нее такой код:

Private Sub Command12_Click() 
    ‘ передача данных через глобальные переменные 
    ReDim MyArray$(200) 
    MyArray$(1) = “Элемент1” 
    MyVar = 1001 
    Call Form2.Start4 
End Sub

В форме Form2 сформируем еще одну процедуру:

Public Sub Start4()
    Form1.Text1.Text = MyArray$(1) 
    Text2.Text = MyVar 
    Show 
    MsgBox UBound(MyArray$) 
End Sub

Запустите приложение на выполнение и убедитесь, что при нажатии кнопки Command12 передача данных в Form2 выполняется правильно. Обратите внимание, что в модуле формы Form1 мы не только устанавливаем значения глобальных переменных, но и можем изменять размер массивов, объявленных динамическими.

В начало

В начало

Новые книги по VB и VBA

Visual Basic 6.0 и Office 2000

Биллиг В.А. VBA в Office 2000. Офисное программирование — М.: Издательско-торговый дом «Русская Редакция», 1999. — 480 с.: тираж 6 тыс. экз., ISBN 5-7502-0128-7

Владимир Биллиг хорошо известен VBA-разработчикам: его первая книга «VBA и Office 97. Офисное программирование» (в соавторстве с М.И.Дехтярем) пользовалась у них заслуженной популярностью. Оперативность выхода книги радует — она появилась на прилавках даже раньше анонса русской версии MS Office 2000: предыдущая книга вышла спустя год после начала продаж MS Office 97.

Следует сразу подчеркнуть, что «VBA в Office 2000» не является вторым, обновленным изданием первой книги автора по этой же теме. Напомним, что «VBA и Office 97» представляла собой комплексное пособие, которое включало три достаточно самостоятельных раздела: «Объекты Office 97 и VBA», «Ядро VBA» и «Офисное программирование» (практические примеры проектов). Нынешняя же книга представляет собой существенно расширенный вариант второго раздела предыдущей, в ней, в частности, появились главы, посвященные классам и объектам, вопросам наследования интерфейсов, а также использованию WinAPI.

(В продолжение темы «Офисное программирование» Владимир Биллиг планирует выпустить в «Русской Редакции» еще две книги под рабочими названиями «Объекты Office 2000» и «Средства разработчика Office 2000».)

Такое изменение последовательности изложения темы – (сначала введение в программирование, а уже потом переход к самому пакету Office), с одной стороны, выглядит довольно логично, но с другой — четко показывает ряд серьезных методических проблем в освоении программирования в среде MS Office.

1. Совершенно понятно, что в одной книге «нельзя объять необъятное». Однако именно поэтому крайне желательно четкое позиционирование направленности книги, чтобы читатель понял, что он должен изучить до того, как начать читать книгу «VBA в Office 2000», и какие вопросы программирования остались вне поля зрения данной книги. То есть, оценив книгу как «необходимое, но не достаточное условие» (что вполне естественно для любого издания), было бы очень полезно сказать, что нужно изучать еще для освоения офисного программирования.

В данном случае «VBA в Office 2000» является добротным и довольно эмоциональным описанием VBA, ориентированным на людей, которые только начинают глубокое изучение данной системы. Вряд ли это будут начинающие разработчики — для освоения книги нужны знания основ программирования. Мне кажется, например, что она идеально подошла бы студентам компьютерных специальностей, для которых VBA — это очередной шаг в изучении систем программирования: C, Delhpi, VBA... (именно такая последовательность четко прослеживается в подходе автора к описанию VBA).

(Впрочем, нужно отметить спорность некоторых позиций автора. В частности, было бы логичнее изменить последовательность изложения материала, придерживаясь правила «от простого к сложному»: сначала рассказать об общей структуре VBA (главы 7-14), а уже потом перейти к более профессиональными аспектам (главы 4-6).)

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

Хотелось бы подчеркнуть, что такой вопрос просто выходит за рамки, обозначенные данной книгой, и он должен стать темой отдельного издания. Однако без ответа на него (тут можно только пожалеть о явном недостатке книг на эту тему) даже самое полное описание VBA как бы «повисает в воздухе». Поэтому было бы очень полезно начать эту книгу с краткого изложения возможностей практического применения VBA. Например, перечислив по нарастающей задачи автоматизации с помощью Office:

  • настройка среды программ;
  • создание макросов (специальных функций среды);
  • создание специализированных приложений;
  • разработка многопрограммных комплексов.

Можно было бы эффектно показать, как, применяя VBA, пользователю удается расширить свои возможности даже при решении первых двух задач (для них можно использовать и встроенные инструменты Office).

2. Второе замечание также касается проблемы «объятия необъятного», но уже с точки зрения позиционирования VBA среди средств разработки Microsoft, с учетом динамики их развития во времени. К сожалению, здесь автор повторяет ошибку, которая присутствовала и в предыдущей книге, где VBA представлялся как некий механизм, появившийся неизвестно откуда и существующий сам по себе.

В частности, говоря об Office 2000, автор практически не упоминает об Office 97, и, как следствие, нет ответа на следующие вопросы: что же нового с точки зрения разработчика появилось в Office 2000? Какие ранее недоступные задачи теперь решаются с его помощью (или решаются проще)? Чем отличается VBA 6 от VBA 5?

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

Начиная еще с прошлой, пятой версии (в Office 97) VBA стал полноправным членом общего семейства VB (точнее, специфической редакцией этого продукта). В версии 6.0 грань, отделявшая его от обычного VB, стала еще тоньше.

Из этого можно сделать вывод, что круг потенциальных читателей книги на самом деле гораздо шире, чем это обозначено ее заголовком и аннотацией. Не менее 90 процентов содержимого книги будет полезно и пользователям «просто VB», и пользователям MS Office 97 (ведь переход на Office 2000 произойдет совсем не мгновенно). Данный момент является принципиально важным, так как сегодня виден явный дефицит книг, излагающих классические методы программирования. Хотя для такого позиционирования книги было бы крайне желательно переставить многие акценты. Например, говоря именно о VB 6, подчеркивать по ходу изложения специфику VBA (тогда минимальный объем этих различий стал бы еще заметнее).

Завершая обзор данной книги, хотелось бы еще раз подчеркнуть ее безусловную полезность для довольно широкого круга разработчиков и пользователей MS Office. Многие из высказанных замечаний (которые также носят спорный характер) объясняются новизной и обширностью тематики книги. Особо хотелось бы подчеркнуть, что Владимир Арнольдович Биллиг стал первым (и фактически остается пока единственным) российским писателем, который начал осваивать тему офисного программирования. И можно только пожелать ему успехов в продолжении этой работы.

В начало

В начало

 

Все для разработчика баз данных

Роджер Дженнингс. Руководство разработчика баз данных на Visaul Basic 6: Пер. с англ. — К.; М.; СПб.: Издательский дом «Вильямс», 1999. — 976 с.: ил., компакт-диск.ISBN 5-8459-0001-8 (рус.)

Скажем кратко: если вы сколь-либо серьезно занимаетесь программированием с применением баз данных (причем, возможно, не только в среде VB), то эта книга вам просто необходима. Автор книги является очень известным специалистом в области баз данных и одновременно — одним из самых авторитетных технических писателей.

Содержание книги выходит далеко за пределы темы, обозначенной в заголовке: в ней не только рассказывается о новейших средствах VB 6 по работе с БД, в частности OLE DB и ADO об использовании технологий DHTML, XML и ASP, но и содержится большой объем информации по общим методическим вопросам создания баз данных различного класса. Возможно, некоторое представление о книге может дать простое перечисление ее семи частей, включающих 28 глав:

1. Объекты данных ActiveX и элементы управления данными. 2. Концепции баз данных и создание запросов. 3. Введение в разработку пользовательских приложений. 4. Усложненные методы доступа к данным и Автоматизация. 5. Приложения для работы с многопользовательскими базами данных. 6. Базы данных, Inretnet и Intranet. 7. Методы разработки корпоративных приложений.

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

Короче говоря – рекомендуем! Заказать книгу можно на сервере издательства: www.williamspublishing.com

В начало

В начало

Новости

Программа Microsoft Office Extensions продолжается

В сентябре российское представительство Microsoft объявило о продолжении реализации программы Office Extensions, ключевой идеей которой является конкурс среди разработок — разнообразных программных расширений для MS Office. Полная информация о программе, условия участия, присланные разработки, списки победителей и т.д. находятся на специальной Web-странице www.microsoft.com/rus/offext.

Очередной, третий этап программы будет проводиться с сентября 1999 года по апрель 2000 года примерно по той же схеме, что и первые два. Его главное отличие — условием для участия разработок в конкурсе является их совместимость с MS Office 2000. Итоги конкурса станут подводиться ежемесячно, а двум победителям будут вручены весьма солидные призы от спонсоров программы: персональный компьютер Vist от компании «Вист» и полнофункциональный MP3-плейер Daewoo MPIO C64 от фирмы VED Technologies.

Двухлетняя история программы Office Extensions, начатой еще в сентябре 1997 года, демонстрирует пока довольно противоречивую картину. (Мы уже отмечали этот момент: см. КомпьютерПресс № 3’99, файл OffExt.pdf на компакт-диске.)

С одной стороны, по данным организаторов, число обращений к библиотеке Office Extensions неизменно растет: за последний год оно увеличилось с 800 до 2000 запросов в день. С другой стороны, активность разработчиков снижается: за первый год проведения программы было получено около 190 разработок, а за второй — менее 80. И это при том, что число призов на втором этапе увеличилось вдвое (вначале приз выдавался только за первое место).

Чем объяснить это? Снижением интереса к MS Office как к средству разработки? Отсутствием новых идей по созданию Office Extensions?

Вполне вероятно, проблема упирается в необходимость расширения числа VBA-разработчиков за счет тех, кого мы обычно называем подготовленными пользователями. А это требует, в свою очередь, оказания им помощи в освоении основ программирования в среде MS Office. По-видимому, осознав этот факт и сделав соответствующие выводы из опыта прошлых лет, в новом сезоне программы Office Extensions представительство Microsoft приступило к реализации проекта по созданию информационного сервера для разработчиков в среде MS Office/VBA (http://www.microsoft.com/rus/offext/officedev). В настоящий момент данный сервер содержит разделы «Новости», «Статьи по Office/VBA», «Internet-ресурсы» (ссылки на полезные для разработчиков Web-серверы), «Литература» (краткие аннотации книг для разработчиков в среде MS Office).

В дальнейшем планируется расширение данного сервера как за счет добавления материала в уже существующие разделы, так и за счет организации новых страниц. В частности, в ближайшее время должен появиться «Online-Форум» для виртуального общения разработчиков.

Поскольку КомпьютерПресс планирует продолжать публикации на тему «Разработка в среде MS Office/VBA», пришлите нам (авторам данной рубрики — akolesov@glasnet.ru) один из предложенных ответов на такой вопрос:

Почему вы не участвуете в конкурсе программы Office Extensions?

  1. Ничего не знаете о ней
  2. Неинтересно
  3. Нет идей для создания полезных расширений
  4. Что-то еще
В начало

В начало

Visual Basic 7.0 уже не за горами

Предыдущая, шестая версия популярного средства разработки Visual Basic была выпущена всего год назад, а программисты уже могут готовиться к появлению его очередного обновления. На конференции Visual Basic Insiders’ Technical Summit (VBITS), которая прошла с 27 сентября по

9 октября в г.Орландо (шт. Флорида), был впервые представлен предварительный вариант VB 7.0 (см. www.vbits99.com/1999/orl/default.htm.). Демонстрация носила закрытый характер, а ее целью был показ основных направлений развития данного инструмента разработки.

VBITS проводится издательством Fawcette Technical Publications (специализирующемся на тематике Visual Basic) с 1993 года и является наиболее масштабной встречей VB-разработчиков. В год проводится 4-6 таких конференций (в разных городах США и Европы), которые посещают до 20 тысяч участников. На предстоящей конференции в Орландо в течение девяти дней будет проведено 38 сессий, причем все они будут новыми по сравнению с предыдущей конференцией, проходившей в Нью-Йорке в июне.

Можно, конечно, порадоваться высоким темпам обновления VB, но одновременно растет некоторое чувство беспокойства. Как нам представляется, одна из проблем заключается в том, что разработчики просто не успевают освоить новшества очередной версии, как на них уже сваливается поток следующих обновлений. Причем, как показывает практика, порой весьма «сырых», которые реально доводятся до рабочего состояния только в следующей версии VB.

В начало

В начало

Новые русскоязычные Web-ресурсы по VB

Число русскоязычных Web-серверов по VB продолжает расширяться. Нам стало известно еще два новых адреса:

  • Азбука Visual Basic, http://vb.alex.de. Его автор, Сергей Милер, живущий в Германии, решил создать сайт, посвященный основам программирования. Сайт появился летом 1999 года, но уже наполнен большим объемом полезной информации, интересной не только для начинающих программистов.
  • http://www.mtu-net.ru/titov. Валерий Титов, автор сайта, задумал свою Web-страничку как рекламно-познавательную. Он собирает информацию о методах программирования (коллекцию классических алгоритмов), об инструментах разработчика, с которыми он работает. Планирует создать также что-то вроде базы знаний по этой теме.

Кроме того, продолжает расширяться собственный Web-узел авторов раздела «Советы по VB и VBA», который получил название VB & VBA House (www.visual.2000.ru/develop/vb/). Там можно, в частности, найти довольно полный список литературы и Internet-ресурсов по этой тематике.

КомпьютерПресс 11'1999