Як підвищити комфорт вашого офісу. Від налаштування офісних програм до створення складних програмних комплексів, MS Office, Програмні керівництва, статті

“Хорошого працівника дізнаються по інструменту”
Прислів’я

“Розумно взяти інструмент і випробувати його.
При невдачі чесно зізнайтеся в цьому і спробуйте інший інструмент.
Але головне – робіть що-небудь. “

Франклін Д. Рузвельт


Здавалося б, додатки, що входять до складу сімейства Microsoft Office 2000, включають все, що потрібно для самого вимогливого користувача – вибирай потрібний пакет і працюй. Однак насправді це не зовсім так.

Дійсно, число офісних програм зростає (п’ять років тому в складі MS Office було чотири додатки, сьогодні – дев’ять), від версії до версії розширюється функціональність кожної з них. А конкретному користувачеві все-таки постійно чогось не вистачає. І така ситуація є цілком природною і легко зрозумілої.

По-перше, тут працює класичний статистичний закон 20/80 (одна з його прикладних формулювань: “20 відсотків населення випиває 80 відсотків пива”). Кожен конкретний користувач використовує не більше 10-20% наявних в програмі функцій. І це не означає, що додаток володіє надмірністю, включає щось явно зайве. Просто кожному користувачеві потрібно мати свій індивідуальний набір цих “двадцяти відсотків “. І для ефективної роботи бажано, щоб саме цей конкретний набір функцій був” під рукою “. (Так само, як часто вживані довідники повинні лежати на робочому столі, рідко використовувані – В книжковій шафі або навіть в далекій коморі.)

По-друге, виявляється, що потрібна користувачу операція виконується якимось не дуже оптимальним чином або в програмі немає чогось дуже необхідного для роботи.

Чи можна зробити офісну програму зручнішою для конкретного користувача? Чи можна автоматизувати виконання часто повторюваних рутинних операцій? Чи можна реалізуватися у програмі функції, яких в ній спочатку взагалі не було? Чи можна об’єднати розрізнені програми в єдиний комплекс?

Відповідь на всі ці питання один – “Так, можна!”. Насправді офісні програми цілком можна порівняти з айсбергом: користувач бачить тільки досить невелику “видиму” частину пакета, часто навіть не підозрюючи, про існування його “підводних” можливості, за допомогою яких він може зробити своє робоче місце більш комфортним і ефективним.

Досягається, це трьома основними способами (ми їх розглянемо далі):


  1. Налаштування інтерфейсу програми і створення найпростіших макрокоманд.
  2. Підключення до додатка готових “розширень”, розроблених кимось іншим.
  3. Створення власних розширень, починаючи від макрокоманд і закінчуючи як завгодно складними програмами.

Застосування перших двох способів доступно абсолютно кожному користувачеві з мінімальним досвідом роботи. Третій вимагає певних зусиль з вивчення програмування і мінімального (в межах неповної середньої школи) знання англійської мови. Далі ми пробуємо показати в загальних рисах підходи до реалізації всіх трьох методів автоматизації свого робочого комп’ютерного місця, маючи на увазі, що більш детальну інформацію бажаючі можуть знайти в спеціалізованих публікаціях на цю тему.


Налаштування інтерфейсу Word


Для роботи з документом можна використовувати понад тисячу (!) Різних вбудованих операцій Word. Звернення до них виконується за допомогою команд меню або кнопок на панелях інструментів, розташованих зазвичай у верхній частині екрана. Лінійка меню включає тільки найнеобхідніші і часто використовувані команди. Решта команди розкидані по 23-м вбудованим панелям інструментів програми (у 1994 році Word 6.0 включав всього 8 панелей).

Очевидно, що для звичайної роботи з певним типом документів користувачеві досить лише кілька десятків команд, які і повинні бути представлені на екрані. Для сохданія найбільш зручного варіанту інтерфейсу можна застосовувати різні варіати найстройкі.

Лінійка меню, яка знаходиться у верхній частині вікна середовища Word, являє собою особливу панель – її не можна вдалися з екрану. Всі інші панелі інструментів можна додавати або прибирати з екрану і поміщати в будь-яку його частину. Звичайно, можна вивести на екран всі панелі інструментів, але тоді не залишиться місця для самого документа (рис. 1). Висновок на екран потрібного набору панелей найпростіше виконується за допомогою команди Вид / Панелі Інструментів (рис.2). Крім того, для кожної панелі можна вказати набір кнопок, які повинні бути представлені в даний момент (рис. 3).



Рис. 1


Рис. 2


Рис. 3


Більш широкі можливості налаштування реалізуються за допомогою діалогового вікна Настройка, яке викликається командою Сервис / Настройка (рис. 4). У цьому режимі користувач може розміщувати на панелях інструментів будь-які команди (не тільки вбудовані в панель спочатку) і в будь-якому місці, а також створювати власні “користувальницькі” панелі, розмістивши на них довільний набір кнопок. Всі ці операції виконуються простим перетягуванням мишею зображень кнопок. Таким чином, можна формувати власний індивідуальний набір панелей інструментів, розсортувавши на ньому команди в потрібному конкретному користувачеві вигляді.



Рис. 4



Створення власних макрокоманд методом запису


Отже, ми розташували всі потрібні для роботи нам команди в оптимальному вигляді. Наступний крок – автоматизація виконання часто використовуваних послідовностей операцій. Щоб розібратися, про що йде мова, давайте розглянемо такий приклад.

В редакції якогось журналу прийнятий певний стандарт для роздруківки текстів статей, які надсилають по електронній пошті автори і з якими повинні працювати далі редактори. Наприклад, це має бути такий формат: тип шрифту – Arial, розмір шрифту – 12, відстань між рядками – подвійне, форматування абзацу – з нового рядка, відступ – 1 см. Мається на увазі, що автори надсилають тексти у форматі Word, але кожен тз них використовує свій власний набір параметрів форматування.

В ході первинної обробки такого файлу оператор (технічний секретар редакції) перетворює його формат до прийнятого стандарту і роздруковує документ. Все це виконується за стандартною схемою:


  1. Відкрити файл з документом, наприклад, SomeFile.DOC.
  2. Виділити весь текст (команда Правка / Виділити все).
  3. Встановити тип і розмір шрифту (команда Формат / Шрифт, далі установка в діалоговому вікні потрібних параметрів).
  4. Встановити параметри форматування абзацу (команда Формат / Шрифт, далі установка в діалоговому вікні потрібних параметрів).
  5. Скинути виділення тексту (наприклад, натиснути клавішу Home для установки курсору в початок тексту).
  6. Зберегти документ з тим же ім’ям (команда Файл / Зберегти)
  7. Роздрукувати документ (команда Файл / Печать, далі натиснути OK).
  8. Закрити документ (команда Файл / Закрити).

Так ось – можна зробити так, що вся ця послідовність операцій буде здійснюватися натисненням однієї кнопки на панелі інструментів. Робиться це за допомогою установки режиму “Запис макросу”. Для цього виконайте наступні операції:


  1. Відкрийте документ із текстом надісланої статті.
  2. Встановіть режим “Запис макросу”, вибравши команду Сервіс / Макрос / НачатьЗапісь. Спочатку з’явиться діалогове вікно, в якому потрібно задати ім’я вашої дії, наприклад, НашеФорматированиеДокумента (Рис. 5). Тут же можна відразу присвоїти макрокоманді кнопку на який-небудь панелі інструментів, а також комбінацію гарячих клавіш для швидкого запуску операції (це можна буде зробити і потім у будь- час).
  3. Після установки режиму запису на екрані з’явиться невелика панель інструментів “Зупинити запис” з кнопками управління процесом створення маркокоманди.
  4. Далі виконайте з документом всю послідовність операцій, зазначену (вище пункти 2-8).
  5. Тепер вимкніть режим запису дії, натиснувши кнопку “Зупинити запис” на однойменній панелі.



Рис. 5


Все, тепер до тисячі вбудованих команд Word додалася ще одна, яка виконує специфічну, але дуже корисну для вас операцію. Обробка всіх інших аналогічних файлів буде виконуватися натисканням однієї кнопки на панелі інструментів (зрозуміло, команду можна розмістити і в меню). Те, що раніше вимагало 20-30 секунд (і уваги людини!), Тепер займає не більше 2-3 секунд.

ПРИМІТКА. Термін “макрокоманда” використовується, щоб підкреслити, що “макрокоманда” складається з послідовності деякий “простих” команд. У той же час часто мається на увазі, що “команда” – це деяка вбудована функція програми, а “макрокоманда” – створена користувачем.

Якщо ви багато працюєте з тестовими документами, то напевно легко виявите досить багато таких часто повторюваних послідовностей операцій. Автоматизуйте свою роботу – створіть власні дії за допомогою запису своїх дій.


Як влаштована макрокоманда


Однак ви досить швидко зможете зіткнутися з ситуацією, коли метод запису не вирішить потрібну вам задачу. Наприклад, мені періодично потрібно “почистити” диск, видаливши з нього непотрібні документи. Для цього доводиться відкривати в Word кожен документ, щоб зрозуміти, чи варто його залишити або слід видалити. В останньому випадку потрібно закрити документ і вже потім, за допомогою Провідника Windows, видалити непотрібний файл. Всі це дуже незручно – набагато краще зробити спеціальну макрокоманду, що виконує відразу і закриття та видалення документа. Але виконати це за допомогою запису дій не можна, так як видалення файлу здійснюється поза Word за допомогою іншої утиліти Windows.

Щоб зрозуміти підхід до вирішення такого завдання, давайте подивимося, як же реалізована створена вище макрокоманда НашеФорматированиеДокумента. Для цього виберіть команду Сервіс / Макрос / Макро, в діалоговому вікні виділіть ім’я макрокоманду і натисніть кнопку Редагування. Через пару секунд вам відкриється нове вікно з середовищем програмування, яка VBA – Visual Basic for Applications (Visual Basic для додатків). Це і є та сама величезна підводна частина айсберга MS Office, про яку ми згадували на початку статті (рис. 6).



Рис. 6


Зверніть увагу, що середа VBA представлена ​​в англомовному варіанті – її творець, корпорація Microsoft вважає недоцільним локалізацію для національних мов засобів програмування (з таким підходом можна цілком погодиться).

Освоєння VBA відкриє для вас нові можливості офісних додатків і широкі перспективи для підвищення ефективності своєї роботи. Ми ж зараз зробимо тільки маленький крок для розуміння відкриваються варіантів автоматизації Word.

В одному з вікон середовища VBA ви побачите програмний код, який, як можна легко здогадатися, виконує створену нами макрокоманду:

 Sub НашеФорматированиеДокумента ()
НашеФорматированиеДокумента Macro
Macro recorded 17.08.00 by Kolesov Andrei
Selection.WholeStory 2. виділити весь текст
Selection.Font.Name = “Arial” 3.Типи шрифта
Selection.Font.Size = 12 3. розмір шрифту
With Selection.ParagraphFormat 4.Установіть параметри форматування
…. абзацу
.OutlineLevel = wdOutlineLevelBodyText
End With
Selection.HomeKey Unit: = wdStory 5. скинути виділення,
курсор в початок
ActiveDocument.Save 6. зберегти документ
7. роздрукувати документ (тут задається багато параметрів
діалогового вікна Друк
Application.PrintOut FileName:=””, Range:=wdPrintAllDocument, _
Item:= wdPrintDocumentContent, Copies:=1, Pages:=””, _
PageType:=wdPrintAllPages, Collate:=True, Background:=True, _
PrintToFile:=False, PrintZoomColumn:=0, _
PrintZoomRow:=0, PrintZoomPaperWidth:=0, PrintZoomPaperHeight:=0
ActiveDocument.Close 8. Закрити документ
End Sub

В наведеному тут коді ми не показали близько півтора десятків рядків усередині конструкції With … End With – там проводиться тривіальна установка параметрів діалогового вікна ФорматірованіеАбзаца. Навіть не маючи раніше справ з програмуванням, можна легко здогадатися, що кожен рядок цієї невеликої програми відповідає одній операції, виконаної під час запису дії. Мінімальне знання англійської мови дозволить зрозуміти сенс команд, але ми про всяк випадок написали російські коментарі. Якщо ви захочете докладніше дізнатися на призначення кожної команди і різних варіантах її застосування, то встановіть курсор на потрібне слово і натисніть F1 (але вся довідка Office / VBA 2000 реалізована на англійській мові).


Пишемо макрокоманду “руками” – починаємо програмувати


Тепер давайте спробуємо написати необхідну нам макрокоманду видалення непотрібного документа. Для цього повернемося в середу Word (перехід із середовища Word в VBA і навпаки виконується натисканням комбінації клавіш Ctrl + F11). Далі відкриємо небудь документ і з допомогою методу запису створимо макрокоманду “ЗакритьУдаліть”, яка поки буде складатися тільки з однієї операції – закрити файл (команда меню Файл / Закрити). Тепер перейдемо в середу VBA і подивимося код, сформованої нами дії. Якщо ви уважно вивчили вміст попередньої дії, то для вас не буде відкриттям те, що код нової виглядатиме наступним чином:

 Sub ЗакритьУдаліть ()
ActiveDocument.Close
End Sub

Поки ця макрокоманда вміє тільки закривати файл. Щоб виконати видалення файлу потрібно виконатися наступні операції


Щоб реалізувати це, потрібно сформувати такий програмний код:

 Sub ЗакритьУдаліть ()
FileName $ = ActiveDocument.FullName повне ім’я файлу
активного документа
запит на підтвердження видалення
Result = MsgBox (“Видалити файл” & FileName $ & “?”, VbYesNo, _
“Закрити і видалити”)
If Result = vbYes Then отримана відповідь “Так”
ActiveDocument.Close закрити документ
Kill FileName $ видалити файл
End If
End Sub

Можливо, я сильно помиляюся, але мені здається, що наведений тут код не вимагає особливих пояснень. Очевидно, що ми могли б легко обійтися і без початкової запису дії, щоб сформувати одну рядок коду. (Автономне створення нової макрокоманди виконується такою послідовністю команд – Сервіс / Макрос / Макро / Створити.) Наведу приклад коду ще однієї корисної дії, зміст якої відображено безпосередньо в її назві:

 Sub ЗакрытьВсеОткрытыеДокументыЗаИсключениемАктивного ()
Dim МойДокумент As Document
For Each МойДокумент In Documents перебираємо всі документи
If МойДокумент.Name <> ActiveDocument.Name Then ім’я співпало?
Documents (МойДокумент). Close Ні, закрити документ
End If
Next
End Sub

Тут хотілося б звернути увагу читачів на особливість сучасних засобів програмування – реалізацію можливості їх інтуїтивного розуміння (про це див врізку “Вивчати програмування – корисно для роботи “). Дійсно, текст програми дуже схожий на звичайні розмовні логічні обороти (тільки англійською мовою). При цьому сенс процедур і змінних можна відображати безпосередньо в їх іменах. (Багато років тому були обмеження довжини імен в 3 або 6 символів, тому доводилося мати справу з термінами, які важко піддавалися простій інтерпретації. Здогадайтеся, що ховається за іменами тип, M10 або CVX). Для імен можна використовувати російські символи, але ключові слова мови в даному випадку позначаються тільки англійським алфавітом.

ПРИМІТКА. Подібні механізми внутрішнього програмування додатків широко використовують і російські розробники додатків. Найбільш наочний приклад – технологічна платформа для вирішення різноманітних обліково-економічних завдань “1С: Підприємство”. У цій системі можна використовувати як синтаксису мови програмування, як російська, так і англійську мову.

В цьому місці потрібно зробити точку в розділі “починаємо програмувати”, так як тут починає безмежне море можливостей розширення можливостей офісних додатків. Для їх освоєння потрібно читати спеціалізовані статті, книги, документацію та ін Але погодьтеся – зробити просту, але корисну макрокоманду виявилося зовсім не так складно!


Підключення готових розширень


Однак перш ніж писати свої дії, корисно уточнити – а чи немає вже готових розширень, які зможуть вирішити ваші проблеми? Дійсно, вище ми створили три дії, які збереглися в глобальному шаблоні Normal.dot. Будь-який інший користувач може переписати цей файл і застосувати наші розробки. Не кажучи вже про те, що є й інші, більш зручні способи передачі розширень від одного додатка до іншого.

Насправді є величезна кількість таких програмних додатків для офісних додатків, деякі з них поширюються на комерційній основі, але величезне число – безкоштовно. Потрібно тільки знати, де їх шукати і як підключати. Як найбільш повного і самого відомого російськомовного Web-ресурсу з такими програмами можна впевнено порадити сервер – http://www.microsoft.ru/offext/

Протягом останніх трьох років російське відділення Microsoft проводить конкурс Office Extensions (офісні розширення) на кращі розробки різноманітних доповнень для додатків MS Office. За ці роки лауреатами конкурсу, які отримували цінні призи, стали декілька десятків людей, не тільки з Росії, але також – з країн ближнього і далекого зарубіжжя. Бібліотека загальнодоступних програм в даний час налічує близько 300 найрізноманітніших розробок, щодня послугами цієї бібліотеки користується кілька сот чоловік.

Моя порада: загляньте на сервер Microsoft Office Extensions і ви напевно знайдете там щось цікаве і корисне для себе – програмні розширення, які зроблять вашу роботу з офісними додатками ще ефективніше.

А в минулому році на сервері з’явився ще один розділ, призначений для підтримки VBA-програмістів. Тому, якщо ви хочете не тільки користуватися чужими розробками, але і створювати свої власні, то обов’язково уважно познайомтеся з матеріалами, що знаходяться за адресою http://www.microsoft.ru/offext/officedev/. Там знаходяться інформаційні ресурси, які стануть в нагоді, як початківцям програмістам, так і досвідченим розробникам.


ДОДАТОК:



Вивчати програмування – корисно для роботи


“Програмування доставляє нам радість, тому що дозволяє задовольнити прагнення до творчості, глибоко закладене в нас, і розділити це почуття радості з іншими.” Фредерікс Брукс, “Міфічний людино-місяць”

Ще років десять тому, вважалося, що кожен технічний фахівець повинен вміти так-сяк робити програми для ЕОМ для вирішення якихось своїх завдань. В принципі така постановка питання видається цілком вірною, так як програмування – це, насамперед, створення логічного алгоритму для досягнення бажаної мети. І в цьому плані неважливо, чи буде він реалізований на ЕОМ або за допомогою “ручних” способів. Інша сторона проблеми полягає в тому, що навіть якщо ви передавати завдання професійного розробнику (а не писати програми самі), то знання основ програмування допоможе правильно формулювати завдання і, взагалі, розуміти “суміжника”.

Зазначу також, що досить часто фахівця в якійсь предметної області легше освоїти програмування, ніж змусити розробника “зануритися” в прикладну тему (формального технічного завдання тут часто недостатньо). Особливо слід виділити наукових працівників, які займаються, наприклад, дослідженнями в галузі математичних моделей: досить часто побудова і вивчення моделей знаходиться в нерозривному зв’язку з процесом створення і налагодження програми.

Однак підсумки загального навчання програмуванню студентів технічних спеціальностей навряд чи можна назвати успішним. На практиці виходило так, що той, хто хотів практично робити програми, освоював цю технологію самостійно. Абсолютна ж більшість забували про програмування незабаром після здачі заліку. Так було в 80-х роках, так відбувається і зараз.

Причин цього досить багато. У 80-і роки (і раніше) освоєння програмування нагадувало вивчення теорії плавання без практичних занять на воді: навчальні завдання найчастіше перевірялися викладачами, а не комп’ютером. До цього треба додати відверто слабку методичну основу викладання (я говорю зараз про підготовку не професіоналів з обчислювальної техніки, а саме про фахівців інших предметних областей), яке зводилося не до вивчення програмування на прикладі деякої мови, а до освоєння синтаксису мови без прив’язки до технології побудови алгоритмів і практичної реалізації програм.

За останні кілька років комп’ютери стали істотно доступніше, але ситуація з вивченням програмування практично не покращилася. Одна з причин цього – принципове сумнів у тому, що його взагалі потрібно освоювати. Дійсно, навіщо вчити програмування, якщо можна скористатися численними готовими додатками? Тому, давайте просто навчати “комп’ютерної грамоти”.

Так, така постановка питання має раціональне зерно, але все ж видається досить обмеженою.

По-перше, програмування допомагає краще формулювати логіку вирішення практично будь-якої задачі (зовсім не обов’язково чисто обчислювальної). Як говорили в давнину, “арифметика мізки в порядок наводить”.

По-друге, якраз розширення функціональності готових програм з неминучістю вимагає їх більш тонкої настройки та адаптації до потреб конкретного користувача. Використання методів програмування різко розширює можливості вирішення цього завдання. Залучення для цього професійних розробників часто просто не має сенсу, так як зробити самому можна швидше, ніж йти в інше крило будівлі для спілкування з колегами. Тут все як з “звичайної” грамотністю – в 19-м столітті багато ходили до писаря, щоб написати прохання, в 20-м вважається, що написати пов’язаний текст на одну сторінку повинен вміти кожна людина.

По-третє, за десять років абсолютно радикально змінилися інструменти розробки і технологія їх освоєння. Ці кошти стали істотно більш зрозумілими на чисто інтуїтивному рівні. Крім того, радикально змінилася схема практичної роботи. Спрощено кажучи, раніше потрібно було спочатку вивчити теорію програмування, щоб написати навіть простеньку програмку, то зараз серйозне освоєння програмування починається зазвичай після написання корисного застосування.

Ілюстрація цієї тези наведена на прикладі програмування в середовищі програми Word 2000 – найпоширенішого програми сімейства MS Office 2000 (але практично все сказане буде годитися і для версії Office 97). Відзначимо при цьому, що саме програмування з використанням офісних додатків відкриває унікальні можливості освоєння технології розробки для “звичайного” користувача. Це пояснюється тим, що він може буквально з перших кроків відчути ефект для своєї роботи і потім поетапно нарощувати свої знання та навички програмування. Але при цьому потрібно мати на увазі одну важливу істину: для переходу до серйозної професійної розробки тільки досвіду буде недостатньо – в якийсь момент потрібно вивчення теорії.


Схожі статті:


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

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*