Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

2 Курс Информатика VBA(ЗО) / Книги / В.Д.Хорев - Самоучитель программирования на VBA в Microsoft Office

.pdf
Скачиваний:
2895
Добавлен:
31.05.2015
Размер:
21.66 Mб
Скачать

Оглавление

11

 

 

Свойство EntireColumn ...................................................................................

178

Свойство EntireRow ........................................................................................

178

Свойство UsedRange ......................................................................................

179

Удаление диапазона со сдвигом оставшихся ячеек влево .............................

179

Метод Insert: пример вставки диапазона со сдвигом оставшихся ячеек

 

вправо ............................................................................................................

179

Доступ к содержимому ячеек и диапазонов ...................................................

179

Запись в ячееку значения.........................................................................................

179

Свойство Formula ...........................................................................................

179

Свойство FormulaLocal....................................................................................

179

Стиль ссылок R1C1.........................................................................................

180

Свойство FormulaHidden.................................................................................

180

Свойство Value ...............................................................................................

180

Метод AutoFill: автозаполнение диапазона.....................................................

180

Форматирование ячеек ..................................................................................

180

Свойство ColumnWidth....................................................................................

180

Свойство RowHeight .......................................................................................

180

Свойство Font.................................................................................................

180

Свойства Bold, Shadow, Name и Size.........................................................................

181

Объект Interior ................................................................................................

181

Свойство Locked.............................................................................................

181

Свойство Style ................................................................................................

181

Очистка диапазона .........................................................................................

181

Объект Characters...........................................................................................

181

ÐАБОТА С ОБЪЕКТАМИ MS ACCESS ................................................................

182

Работа со структурой базы данных Access..........................................

182

Объекты Database (база данных), TableDef (определение таблицы) и

 

семейство Field (поля таблицы) .........................................................................

182

Объявление переменных типа база данных, определение таблицы и поле

 

таблицы ..........................................................................................................

182

Метод OpenDatabase: открытие базы данных.................................................

182

Метод CreateField объекта TableDef: добавление текстового поля ................

182

Метод Append.................................................................................................

183

Метод Close: закрытие базы данных ..............................................................

183

Метод CreateTable: создание таблицы ...........................................................

183

Свойства полей..................................................................................................

184

Ввод в поле таблицы значения по умолчанию (DefaultValue) ........................

184

Свойство Required: проверка допустимых значений вводимых в поле...........

184

Свойство Type: тип данных.............................................................................

184

Свойство FieldSize: размер поля ....................................................................

184

Константы типа данных поля ..........................................................................

184

Работа с содержимым базы данных Access.........................................

184

Объект DoCmd ...................................................................................................

185

Метод OpenTable: открытие таблицы .............................................................

185

Метод OutputTo: вывод таблицы ....................................................................

185

Метод PrintOut: печать таблицы .....................................................................

185

Метод OpenForm: открытие формы ................................................................

185

Метод Maximize: развернуть форму ..........................................................................

185

Метод Maximize: свернуть форму до значка ..............................................................

185

Метод GoToRecord: навигация формы ...........................................................

185

Метод GoToControl: передача фокуса элементу управления формы..............

185

Свойство AllowDeletions: запрет удаления записей пользователем ...............

186

Свойство AllowEdits: запрет изменения записей ............................................

186

Свойства формы.............................................................................................

186

Семейство Controls ..................................................................................................

186

Свойство CurrentRecord ...........................................................................................

186

Свойство Dirty ..........................................................................................................

186

Свойства FilterOn и Filter...........................................................................................

187

Свойство NavigationButtons.......................................................................................

187

Семейство Forms............................................................................................

187

Метод Quit: закрытие базы данных ................................................................

188

ГЛАВА 8

12 Оглавление

VBA-ПРОГРАММИРОВАНИЕ: ПРИМЕРЫ И ИЛЛЮСТРАЦИИ.......................

190

ÏРОГРАММИРОВАНИЕ ОБЪЕКТОВ ИНТЕГРИРОВАННОЙ СРЕДЫ MS OFFICE ..................

191

Панели инструментов и меню в приложениях MS Office.......................

191

Объекты типа CommandBar ...............................................................................

191

Объекты типа CommandBarControl .................................................................

191

Метод FindControl: поиск элемента управления .............................................

191

Свойство FaceId: изменение значка на элементе управления........................

192

Создание пользовательской панели инструментов ...........................................

192

Метод Add ......................................................................................................

192

Свойство Visible ..............................................................................................

192

Создание новой кнопки .....................................................................................

193

Создание пользовательского меню ...................................................................

194

Добавление пользовательской команды в стандартное меню приложения

 

MS Office............................................................................................................

196

Программирование помощника Office.................................................

197

Объект Assistant .................................................................................................

198

Обработка ошибок с использованием оператора On Error GoTo.......................

198

Создание пользовательской Справки ................................................................

198

Переменная типа Balloon................................................................................

199

Свойство Visible ..............................................................................................

199

Свойство Animation.........................................................................................

199

Метод NewBalloon ..........................................................................................

199

Свойства Heading и Text .................................................................................

199

Свойство Button..............................................................................................

199

Свойство Labels..............................................................................................

200

Метод Show ....................................................................................................

200

Реакция помощника на выбор пользователя ..................................................

201

ÔОРМАТИРОВАНИЕ ОБЪЕКТОВ ПРИЛОЖЕНИЙ MS OFFICE .....................................

202

Пример форматирования документа Word ..........................................

203

Форматирование абзаца....................................................................................

203

Использование константы vbCr ......................................................................

203

Использование метода InsertBefore................................................................

204

Свойство Content............................................................................................

204

Свойство Style ................................................................................................

204

Заголовок сообщения ..............................................................................................

204

Простой текст ..........................................................................................................

205

Списки.....................................................................................................................

205

Подпись ...................................................................................................................

205

Изменение размера шрифта ..........................................................................

205

Общий вид документа: пример изменения границ документа (раздела) .......

206

Свойство ArtStyle: художественный стиль границы....................................................

207

Свойством ArtWidth: ширина границы .......................................................................

207

Границы абзаца..............................................................................................

207

Свойство SpaceAfter: отступ снизу .................................................................

208

Свойство Alignment: пример выравнивания абзаца слева..............................

208

Форматирование графических объектов (семейство Shapes) ...........................

208

Метод AddShape.............................................................................................

208

Надпись на автофигуре ..................................................................................

209

Форматирование документа посредством тем ..................................................

209

Метод ApplyTheme..........................................................................................

210

ÏРЕДСТАВЛЕНИЕ ДАННЫХ В MS OFFICE ...........................................................

210

Подготовка табличных данных ............................................................

210

Условные форматы ............................................................................

211

Постановка задачи.............................................................................................

211

Определение диапазона условного форматирования........................................

211

Объект FormatCondition......................................................................................

211

Метод Add: добавление условного формата ..................................................

212

Форматирование данных удовлетворяющих условию........................................

212

Добавление второго условного формата...........................................................

212

Изменение границ таблицы................................................................

214

 

Оглавление

13

 

 

 

Диаграммы ........................................................................................

214

 

Объект ChartObject: вставка диаграммы на лист Excel ......................................

214

 

Метод SetSourceData: создание обычной гистограммы .................................

215

 

Свойство HasLegend.......................................................................................

216

 

Свойство ChartType: задание типа диаграммы...............................................

216

 

Метод ApplyCustomType: создание пользовательского типа диаграмм .........

217

 

Свойство HasTitle: создание заголовка диаграммы........................................

218

 

Свойство ChartTitle...................................................................................................

218

 

Семейство Axes: форматирование осей диаграммы ......................................

219

 

Примеры форматирования диаграмм ................................................................

219

 

Свойства HasTitle и AxisTitle: создание заголовков осей диаграммы .............

219

 

Свойства Elevation, Rotation и Perspective: поворот диаграммы вокруг осей 220

Изменение заливки области диаграммы ........................................................

221

ГЛАВА 9

 

 

ПРОГРАММИРОВАНИЕ В OUTLOOK: ДОКУМЕНТООБОРОТ И ЭЛЕКТРОННАЯ

ПОЧТА ..............................................................................................

223

ÝЛЕКТРОННАЯ ПОЧТА В СОВРЕМЕННОМ ОФИСЕ ..................................................

223

ÏОСТАНОВКА ЗАДАЧИ .................................................................................

223

 

ÎБЪЕКТНАЯ МОДЕЛЬ OUTLOOK 2000..............................................................

224

Классы и объекты ..............................................................................

225

Библиотеки типов ..............................................................................

225

 

Как подключить к Excel библиотеку типов Outlook.............................................

225

 

Назначение и основные свойства некоторых классов Outlook..............

227

 

Класс Application ................................................................................................

228

 

Класс NameSpace ..............................................................................................

228

 

Класс SyncObject ...............................................................................................

229

 

Класс Explorer ....................................................................................................

229

 

Класс MAPIFolder ...............................................................................................

230

 

Класс MailItem....................................................................................................

230

ÑОЗДАНИЕ УЧЕТНЫХ ЗАПИСЕЙ.......................................................................

231

 

ÑОЗДАНИЕ ПРИЛОЖЕНИЯ REGISTRATOR ...........................................................

234

 

Создание заготовки приложения ........................................................

235

Изменение имени листа ....................................................................................

235

 

Создание элемента управления Кнопка.............................................................

235

 

Создание заготовки макроса, связанного с кнопкой .........................................

235

Создание модулей, классов и форм, и изменение их свойств ..........................

235

 

Изменение свойств кнопки на рабочем листе Excel ..........................................

237

 

Определение программных элементов ...............................................

237

 

Анализ объявленных программных элементов ..................................................

239

 

Разработка схемы приложения...........................................................

239

 

Компиляция проекта и запуск его на выполнение .............................................

242

Написание программного кода ...........................................................

243

 

Инициализация и деинициализация ..................................................................

243

 

Синхронизация ..................................................................................................

243

Определение нужного интервала и создание нового листа ..............................

247

 

Ключевая процедура приложения — выборка входящих и исходящих писем ....

250

 

Доводка приложения Registration до профессионального уровня .....................

254

 

Доводка и совершенствование приложения........................................

259

ПРИЛОЖЕНИЕ

 

 

 

 

VBA, КАК ЯЗЫК ПРОГРАММИРОВАНИЯ: ДАННЫЕ, СИНТАКСИС И ФУНКЦИИ

 

........................................................................................................

262

 

ÄАННЫЕ VBA: ТИПЫ ДАННЫХ, ПЕРЕМЕННЫЕ И КОНСТАНТЫ ...................................

262

Переменные и константы ...................................................................

263

Константы ..........................................................................................................

263

Объявление констант .....................................................................................

263

14 Оглавление

Переменные.......................................................................................................

264

Объявление переменных ................................................................................

264

Инициализация переменных...........................................................................

264

Зачем объявлять переменные? ......................................................................

264

Директива Option Explicit ................................................................................

265

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

266

Массивы ............................................................................................................

267

Динамические массивы ..................................................................................

267

Объектные переменные .....................................................................................

268

Типы данных ......................................................................................

269

Зачем нужно объявлять тип? .............................................................................

269

Простые типы данных ........................................................................................

270

Boolean ...........................................................................................................

270

Integer.............................................................................................................

270

Long................................................................................................................

270

Single ..............................................................................................................

271

Double.............................................................................................................

271

Currency..........................................................................................................

271

Date ................................................................................................................

272

String ..............................................................................................................

272

Variant .............................................................................................................

273

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

273

ÑИНТАКСИЧЕСКИЕ КОНСТРУКЦИИ ЯЗЫКА VBA ...................................................

274

Выражения и операции ......................................................................

274

Арифметические операции ................................................................................

274

Логические операции ........................................................................................

275

Операции сравнения..........................................................................................

275

Операция Is ....................................................................................................

275

Операция Like.................................................................................................

276

Директивы Option Compare Binary и Option Compare Text ..........................................

276

Примеры использования операции Like ....................................................................

276

Операции со строками.......................................................................................

277

Управляющие конструкции языка........................................................

277

Переход по метке ..............................................................................................

277

Оператор GoTo ...............................................................................................

277

Оператор GoSub…Return ................................................................................

278

Операторы цикла ...............................................................................................

278

Öèêë While … Wend.........................................................................................

278

Öèêë Do … Loop..............................................................................................

279

Öèêë For … Next..............................................................................................

279

Öèêë For Each … Next .....................................................................................

280

Принятие решений: операторы ветвления (условные конструкции) ..................

280

Функция Switch ...............................................................................................

280

Функция Choose .............................................................................................

281

Функция IIf ......................................................................................................

281

Конструкция If … Then … Else … End If ...........................................................

281

Конструкция Select Case … End Select ...........................................................

282

ÎПЕРАТОРЫ И ВСТРОЕННЫЕ ФУНКЦИИ ЯЗЫКА VBA .............................................

282

Интерфейс с пользователем...............................................................

283

Вывод сообщений (функция MsgBox) ................................................................

283

Ввод данных (функция InputBox)........................................................................

284

Взаимодействие с операционной системой ........................................

285

Запуск приложений (функция Shell)...................................................................

285

Как сделать запущенное приложение активным (оператор AppActivate) ...........

286

Управление другим приложением при помощи имитации ввода с клавиатуры

 

(оператор SendKeys)..........................................................................................

286

Вычисление факториала при помощи калькулятор Windows из VBA-кода......

286

Файловые операции ..........................................................................................

287

Какие бывают файлы......................................................................................

288

Файлы последовательного доступа ..........................................................................

288

Файлы произвольного доступа .................................................................................

288

Оглавление

15

 

 

Бинарные (двоичные) файлы ....................................................................................

288

Операции с каталогами и дисками.................................................................

288

Оператор ChDrive .....................................................................................................

288

Оператор MkDir........................................................................................................

288

Оператор ChDir ........................................................................................................

288

Оператор RmDir .......................................................................................................

289

Функция CurDir.........................................................................................................

289

Функция Dir..............................................................................................................

289

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

290

Копирование файлов (оператор FileCopy) ......................................................

290

Удаления файлов (оператор Kill) ....................................................................

290

Как открыть файл (оператор Open) ................................................................

291

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

291

Ввод данных из открытого файла (операторы Input, Line Input) .....................

292

Вывод данных в открытый файл (операторы Write, Print) ...............................

293

Вывод строк в текстовый файл ......................................................................

293

Оператор Width ........................................................................................................

293

Функция Spc ............................................................................................................

293

Функция Tab ............................................................................................................

294

Закрытие файлов (операторы Reset, Close) ...................................................

294

Операции с файлами, открытыми в режиме произвольного доступа.............

294

Оператор Seek .........................................................................................................

294

Функция Loc.............................................................................................................

294

Оператор Put ...........................................................................................................

295

Оператор Get ...........................................................................................................

295

Функция EOF............................................................................................................

295

Оператор Lock .........................................................................................................

295

Оператор Unlock ......................................................................................................

295

Работа с системным реестром Windows ............................................................

296

Оператор SaveSetting ...............................................................................................

296

Функция GetSetting...................................................................................................

296

Оператор DeleteSetting.............................................................................................

297

Работа со значениями даты и времени .............................................................

297

Представление значений даты и времени в MS Office и VBA.........................

297

Представление значений времени............................................................................

297

Представление значений даты..................................................................................

297

Функция DateSerial .........................................................................................

297

Преобразование строк в значения даты (функция DateValue) ........................

298

Функция TimeSerial .........................................................................................

298

Преобразование строк в значения времени (функция TimeValue)..................

299

Системная дата и системное время ...............................................................

299

Функция Date ...........................................................................................................

299

Функция Time ...........................................................................................................

299

Функция Now............................................................................................................

300

Календарные вычисления...............................................................................

300

Функция DateAdd......................................................................................................

300

Функция DateDiff ......................................................................................................

301

Функция DatePart .....................................................................................................

301

Функция Year ...........................................................................................................

302

Функция Month.........................................................................................................

302

Функция Day ............................................................................................................

302

Функция Weekday.....................................................................................................

302

Вычисления со значениями времени..............................................................

303

Функция Hour ...........................................................................................................

303

Функция Minute ........................................................................................................

303

Функция Second.......................................................................................................

303

Функция Timer..........................................................................................................

303

Работа со строками ...........................................................................................

303

Сравнение строк (функция StrComp)..............................................................

303

Выделение подстроки ....................................................................................

304

Функции Left и LeftB.................................................................................................

304

Функции Right и RightB.............................................................................................

304

Функции Mid и MidB .................................................................................................

304

Поиск в строке (функции InStr, InStrB) ...........................................................

305

Преобразования регистра (функции LCase, UCase) .......................................

305

Форматирование строки.................................................................................

306

Функция Space.........................................................................................................

306

16 Оглавление

Функция String .........................................................................................................

306

Функция Len.............................................................................................................

306

Примеры форматирования строк..............................................................................

306

Функции удаления пробелов (LTrim, RTrim, Trim) ......................................................

307

Функция Format........................................................................................................

307

Преобразование строковых и символьных значений......................................

309

Функции Asc, AscB и AscW .......................................................................................

309

Функции Chr, Chr B и Chr W .....................................................................................

309

Примеры использования строковых функций.................................................

309

Шифрование/дешифрование строки ........................................................................

309

Разбор строки..........................................................................................................

311

Предисловие

Зачем эта книга

Современный офис, будь то государственное или коммунальное учреждение, торговая фирма или заводоуправление, немыслим без пакета программ MS Office. Повсюду, где ведется деловая переписка, и работают с текстовыми документами любого рода, можно увидеть вездесущий Word. На листах рабочих книг Excel ведется множество видов учета и отчетности — эта программа распространена почти так же широко, как и Word. Практически говоря, MS Word и MS Excel стали стандартом “де-факто” в офисной деятельности. Такие приложения пакета Office, как MS Access и MS PowerPoint, используются не столь повсеместно, но все же распространены достаточно широко.

И столь же широко, как сам пакет MS Office, распространено его незнание. Тысячи и тысячи пользователей могли бы несказанно облегчить и усовершенствовать свою работу, использовав лишь маленькую толику возможностей MS Office, но… не делают этого. Такой пользователь готов часами выполнять утомительные, рутинные операции. Идея автоматизировать свою работу ему в голову не приходит, — нет, не потому, что он не хотел бы облегчить себе жизнь. И не потому, что мощь MS Office ему неведома, — он слышал такие слова, как “макрос”, “VBA”, “OLE” и т.п. Но эти слова его слегка пугают. “Это, пожалуй, сложновато для меня”. “Это для программистов”.

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

В этой книге будет показано, как можно решать типичные задачи современного офиса, используя, если не все, то многие из возможностей пакета MS Office, которые обычно остаются “за кадром”. Здесь будет показано, каким образом даже не слишком продвинутый пользователь в состоянии значительно облегчить себе жизнь и усовершенствовать свою работу при помощи инструментальных средств пакета MS Office.

Старинный способ: “Делай, как я!”

В стародавние времена, на военном флоте для связи между кораблями использовали специальные сигналы — наборы вымпелов. Когда флагманский фрегат, в разгаре сражения, не мог или не успевал сообщить своим кораблям детальные инструкции по предстоящему маневрированию, он поднимал сигнал “Делай, как я!”. И начинал маневр, показывая собственным примером, что и как следует делать остальным кораблям эскадры.

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

18 Предисловие

О чем эта книга

Среди великого многообразия “офисных” задач были выбраны некоторые, наиболее типичные и более всего, на наш взгляд, нуждающиеся в автоматизации.

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

Задачи второго класса сложнее. Есть операции, которые, даже запасясь бесконечным терпением, вручную не выполнишь. Решать такие задачи труднее, но и результат решения более ценен. Этот результат — новое качество, новые функциональные возможности, которые ранее были недоступны. Понятно, что ради решения в первую очередь именно таких задач стоит браться за изучение инструментальных средств Office.

Что потребуется для работы с этой книгой

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

Конечно же, нам потребуется пакет MS Office, установленный на компьютере. Должен ли это быть именно MS Office 2000? Не обязательно (хотя, разумеется, желательно). Большинство средств, которые будут использованы, имеются и в предыдущих версиях пакета. Если, например, говорить о пакете MS Office 97, то практически все, о чем пойдет речь в этой книге, совместимо с ним.

Существует несколько вариантов установки MS Office. Может встретиться вариант, в котором отсутствуют некоторые из инструментальных средств. Например, возможна установка пакета MS Office без VBA — системы поддержки языка программирования Visual Basic для приложений. В каких-то случаях, возможно, необходимо будет доустановить недостающие компоненты пакета.

Îмакросах и макровирусах

Впакете MS Office 2000 (в отличие от предыдущих версий) предусмотрена многоуровневая защита от макровирусов. Что такое макровирус? Чтобы понять это, необходимо вначале иметь представление о “нормальных макропрограммах” — макросах, как их принято называть. Макроязык VBA — Visual Basic для приложений — является, фактически, одним из основных связующих звеньев, благодаря которым различные программы пакета MS Office связаны воедино, и благодаря которым вообще можно говорить о таких вещах, как рабочая среда MS Office или объекты

Office.

Опасны ли макросы?

Опасны ли макросы сами по себе? Нет, конечно. Не более чем опасны обычные программы, такие, например, как MS Word или MS Excel. Подобно тому, как существуют программные вирусы, способные “заразить” программный файл (например, исполняемый файл MS Word) точно так же существуют и макровирусы, способные “заразить” макропрограмму.

Где они находятся?

Макропрограммы — макросы — пакета MS Office “живут” в документах Word, шаблонах, листах рабочих книг Excel и других файлах данных Office. Если макрос базы данных Access может физически находиться только в файле базы данных, то макросы Word обитают как в собственно документах (при этом, передав кому-то файл документа, одновременно будет передан содержащиеся в нем макросы), так и файлах шаблонов — в первую очередь в общем шаблоне Normal

Рис. 1. Диалоговое окно Безопасность

Предисловие 19

(Обычный). Содержащиеся в шаблоне Normal макросы никуда не передаются при пересылке документов и всегда “под рукой”, то есть они связаны с данным конкретным компьютером. В среде Excel макросы могут содержаться как в рабочих книгах (и тогда они передаются вместе с файлом рабочей книги), так и в шаблонах Excel.

Надо ли бояться макросов?

Если будет открыт документ Word, присланный, например, по электронной почте, то риск поражения макровирусами лежит полностью на пользователе, сделавшем это. Если используются собственные макросы, записанные в общем шаблоне Normal, и не открываются чужие документы с макросами, то макровирусы документов Word гарантированно не страшны. Отношение к макровирусам напоминает отношение к автомобильным авариям. Несомненным фактом является то, что в дорожных происшествиях гибнут ежегодно тысячи и десятки тысяч людей. Но никому не приходит при этом в голову отказаться от автомобилей, как от средства передвижения. И случающиеся в жилых зданиях пожары не заставили еще человечество вернуться в пещеры. Слишком многое дают людям автомобильный транспорт и жилые здания — достаточно много, чтобы человечество было согласно идти на риск несчастных случаев. Точно так же, макросы рабочей среды MS Office слишком многое дают пользователю, чтобы избегать угрозы макровирусов ценой отказа от услуг “добропорядочных” макросов. Как и в примерах с автомобилями и пожарами, здесь, чтобы спать спокойно, достаточно соблюдать свои “правила дорожного движения” и “правила пожарной безопасности”.

Уровни безопасности в Office 2000

Диалоговое окно Безопасность (рис. 1) позволяет задать реакцию приложения на наличие макросов в открываемом документе — новация версии 2000 —

команду Сервис | Макрос | Безопасность). Ва-

рианты “Высокая” и “Низкая” соответствуют крайним степеням, нас же интересует “золотая середина” — этот уровень безопасности предполагает, что приложение не будет открывать содержащий макросы документ без подтверждения со стороны пользователя.

Если открываемый документ (например, рабочая книга Excel) содержит макросы и если, при этом, в данном приложении Office выбран “средний” уровень безопасности, на экране появится диалоговое окно с предупреждением.

Если это документ неизвестного вам происхождения, полученный из источника, вирусная чистота которого с вашей точки зрения не гарантирована, то разумней всего будет, конечно, отключить макросы. Но если речь идет о собственном документе пользователя или рабочей книге, которую он сам снабдил макросами VBA, то нет причин отказываться от полезных (а порою — просто необходи-

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

В. Д. Хорев

Соседние файлы в папке Книги