219 8 63MB
Russian Pages 497 Year 2005
С ИЛВА
Й ОКР НЯОК
В
П Р О ГР А М М И Р О В А Н И
Е
О М У КД Н Е Т О
В И П Р И Л ОЕН ИЖ
Й
M S OFFICE в DELPHI
zyxwvutsrqponmlkjihgfedcba
О К ЗТ Б Р А И Н Е Р П ИЛ О Ж ЛД М Л Б А ТИ Ц И В И
А
МИШ Н Е В ДОМТАН ЕУ К EXCEL
М Р А П О Г И Н Р ВА ЙЛ Е Н АП Э ОМ Т Л Н Е И Н Е Р П ИЛ О Ж О К ЗТ Б Р А И О Л С ИП Ь З Н О А В ИМ САКНЧЕ ДИ
Й Ы С ТСТОМК Е , РМ А КН УСИ И М ТА К Е О Ъ Б Х WORD
Я О ТБ Р А
, И И
Е , МН Е
Ю
И И ДРГ У
Х
В И В ЛН Р П А Е У Я Й MS OFFICE А Е Х
Л БИ О Е Т К ДЛ Я РТОБ А Ы С М ТАН ЕУ К ДО И WORD И EXCELzyxwvutsrqponmlkjihg
О НЛ Ь А И С Е Ф О Р П М А Р ИН В О Г П
Е Е
- /- CD
а Вс ил
й Коркня
в
П Р О РГ АМ М И Р О В АН И О М УД К Е Н Т О
Е В И П Р И Л О ЕНЖИ
Й
M S OFFICE в DELPHI
zyxwvutsrqponmlkjihgfed
- т нк а С ер б ту П
г
«Б-В Х гр бу е т П
» 2005
УД Б
К 681.3.06 К 32.973.26- 018.2 К 6 7zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA в В . Н .
оК н я р к о
К 6 7 С П б.
П р о гр ам м и р о в ан и : Б ХВ - П е т р б ур г
й M S Office в D elphi. —
е д о к ум е н т о в и п ри лож ен и , 2005. - 496 с : и л .
I SBN 5- 94157- 458- 4 Книг те к с то м р а м е тр о ед л у н о м и рован и с о з да н и с а х д о к м у е н то ти п о в ы р а б о тч и к и о х дн ы е
а п о св ящ ен , та б л и ц а м и в с тр а н и о б ъ е к тн ы е э л е м е н то е ди н а м и ч е с к и
а с о з да н и , о б ъ е к та м и ц и др . в од кму ен ат м м о ед л я м в пу р а в л е н и х б и б л и о те к в MS Office. П р и в е д н х з ад ч и о вт е ы н а ти п о в ы . Н а п р и л а г е м о м к те к с т ы п р и м ер о в и з к н и ги ялД
ю п р и ло ж ен и , ди а г р а м а м и
й в с р ед е D elphi дл я р аб о т ы с , м а к р о с а м и , н а с тр о й к а м и па х MS Word и Excel. Бо л ь ш о е вн и м ан и е д о к м у е н от в MS Office. Р а с м о тр е н о п ро г ам я р е д а к то р в M S Word и Excel, а та к ж е , к о т р ы е можн о и сп оль з оват ь в м ак ро ы вари ан т ы п р о гр а м н о й р еали з ац и и е воп росы , с к о т р ы м и в с рт е ч а ю ст я раз кн и г е к о м п а к т- д и с к е р аз м ещ ен ы п олн ы е ис .zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONM пвтос ми гамор Б
п у Гр
а котв г одп
и а ия з н д
Г л ав н ы й а ор к ед т р З ам . лавгн ог о о а кр т де а З ав . раекдц и е й Р о а к т де р К о м п ь ю е р тн а я в к ер с т а К о р ек т р Д и з ай н сери и О оф р м л е н и е о бл ж к и З ав . п рои з востд м
е и Лз ц н мрФо а "Б- ВХ "гр у бетр П
:
Е к и а нт р е
укваодн К
ь г р оИ
Шишг н
ийгр о Гр
Динб о к Т и ан м е
Т ан т ь я ьг и л О а инЗд ын И я г р оИ а йН и к л о
г р ик н е о С Дивтера м Т й и он а ч Цьинкваоулр ы
ь 24.12.04. . л . 4 0 . й п.р
- о т н иа р С о е к с ч м и д г л э о п е зиенч лю ак е н а и ц к пу д ор No 77.99.02.953.Д.006421.11.0 4 о т 11.11.2004 г . н а вд ы о фео н лаьер д п о нроз ад у в се р ф е зти ща ы па р в птеилбро й и и ч бул о п гал о с ы в гот а ГУ П "Ти фар г о пи 199034, Ст- кан гретуПб
I SBN 5- 94157- 458- 4
zyxwvutsrqponmlkjihgfed
Т ксвирхе
о в пта еч я И Д № 02429 о т 24.07.00. Пансип до т 7 0 х1 0 0 '/ ) в . та еч П ь осеатян ф . Усл . пе ч а ри Т ж 3000 эзк . З а к з N» 723 . 190005, Ст- кан гретуПб , Иимз ксвлайо
ат н е ч п О
Д У К 681.3.06 К 32.973.26- 018.2
х о в ит дз о па и
, 29. ю й о сб ж ул
й
я ча евкло
.
в я "На к уа , 9 ляи н
° о к ня р оК © Оофрмлне и е
" , 1 2
в В . Н . , 2005 , ив тьсле азд
о "БВ-Х "гр убПе т
, 2005
е а о д С и нр ж
е
О т о т ра в
а
В ев идн
9
е
С Т АЧ
11
Ь I. О С Н О В Р З А Б О ТК
ва Г л
Ы
а 1. ыОенткбъ
О б ъ е нк т а О б ъ е нк т а
а 3 . О бищ M S Office
ав Г л
а 4. О б з о я а б о рт
С Т АЧ
Ы Й M S OFFICE
15
17 20
и о е сн г в р т е п и ц н и р п
о як зы ы с оаизнд
а и на ов ри м а р ог р п в и з ац т о м в
С о з адн и С о з адн и О к тр ы и т Р аб о т З ап и с а
ь З ап и с е н тЧ и
е о б ъ ке т е домкуен т е домкуен т с о сп и ск о и чент и ь ткест е текст
27
и 31
р оетнму срнти ы с M S Office
а 5. Р а б о т
я M S Office
я о ерл токн
в се др
ы рабзоркт
и о жл е и н р п
а с о е б къ т
й Delphi 35
Ь II. РЗ БАО КТ А ОД К У М Е Н Т О M S WORD В D ELP H I ва Г л
17 zyxwvuts
и M S Office
ь MS Word ь MS Excel
а 2. О с о б е он с т
лд
Е ПРИНЦИП В И П Р И Л О ЕЖ Н И М
е е о лд м
я м ое л д я м ле о д
ва Гл
И ОБЩ И
И ОД КУ М Е Н Т О Х П Р О Г Р МА
И З В Н ЕШ Н И
ва Г л
zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGF
В И П Р И Л О ЕЖ Н И
Й 39
м WordApplication
а Word.Application, з апс у а а м окрыт х о д мк у е н о т е текст а домкуен т а а в домк уен т а и з домкуен т а
к и ви залиу з ац и
в
41
я окн
а п р и л о ж ен и
я
41 43 45 50 52 52 54
zyxwv
а н и ео С р д ж
С р ан о х е и З ак р ы и т О к б р ао т
е о м д к уе н т е домк уен т а ош и бо
а а и п ри лож ен и к в ы п о л н ен и
Г л ав
а 6. С озанд и
В ы н ел д и к О ъе б Ш аб л о П ои с П о вчы т П ж е н л та о
е ек т с а т Selection н домкеун т а к текст а в домкуен т й к о н в ер т е п о ч р е ун и е
в а Гл
а 7. Соаизнд
С о з а нд и е Ф о р м та И з м ен ен и Г рн а и ц Д о б а в л ен и Т ке с З ан д и Н а п р а в л ен и Р аз р к б о т
, вы елдн и е ы а бт л и ц е п о л ж ен и ы и з али вк а яч е е и уналед и т в яч ей ка х а бт л и ц е ш р и фт а текст е текст а а а бт л и ч н о г
ва Гл
а 8. Р аб о т
К о л ек ц и Н п ад и с
е погрст
о дмнеокут
а
65
65 67 77 78 81 83zyxwv
е
е ат б и л
ц и а б ор т
и уналед и
а с мин
е а б тл и
я табли ц к табли е рс т о ы а в домкеун т
а н па д и с я гр а н и ц
и ы н па д и с
87
е
к в а б тл и ц
ы
е и в табли ц а — блан
а с е а мот к б ъ
в Shapes
и
ц в дмокену т
ы и е е рсот ц к и солтбц о
о о м кд е у н т
я о б ъ ек т
е к са-чте р уакфт
и в е т он м у к д
] ы
113
о яр л ы к
113 114 118 123 127 129 129 131 133 137 138
и
и
ь домкеун т р п р о гам
ва Гл
а 9. Р аб о т
О б ъ н ке т а з З к р у аг С о з а нд и к О р ты и П ои с С о з а нд и Р и нсу к П еч а т З ап и с П ри м е
я м ое л д а о б ъ ек т е домкуен т е щ с у ю в е т щ ге к и раекдит рован и е и раедкит рован и и и диг ру ь домкуен т ь домкеун т р п р о г ам
е риф уг ы ы (OLE) ы а ы — фо рм и ро в ан и а с о е б к тъ
е товарн ог
87 90 93 95 98 101 102 106 106
е Word
и
е о б ъ ке т а ср т а н и ц
57 61 61
м Application
и З али в к иЛ н и
В ы н о ск иЛ н и Г ео м р и т ч ес к и В н еш н и Н р а со т й к П еч а т П ри м е
я Word я п р и р б ао т е с о б ъ ке т
а
м Word.Basic
ь WordBasic а WordBasic и ви залиу з ац и я окн а п р и л о ж ен и а Word о о м кд е у н т а Word е е к тс а в домкеун т е Word е а бт л и ц в домкеун т е Word е в н еш н и е о б ъ ке т ы а Word а Word н а ди с к и о к о н ч ан и е рбаот ы ы — п ежлатн о е п чо р е н у и е
141
я Word
141 143 145 147 148 152 155 156 157 158
zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA , ^ 5 zyxwvut
а н и ео С р д ж
а 10. П роамг и рован и
Г лав Э л ем н т Э л ем н т С о з а дн и Э л ем н т Г л ав н о С о з а дн и С о з ад н и К о л ек ц и П ри м е
е свой ст
ы п у р а в л ен и ы к о л ек ц и е п о л ь з о в е ла т ь с к о ы п у р а в л ен и е м ен ю е н ов г о э л ем н т е и и сп о ль з о в ан и я ди алог в р п р о г ам и р о в ан и
в M S Word
я п р и л о ж ен и я MS Word и CommandBars, и х оотбраж ен и й п а н ел и и л и м ен ю я и и х свой вст а а п у р а в л ен и е м ак р о с
е и расп о л ж ен и
я а Visual Basic свасмтред
я п а н ел
е о б ъ ке т а Excel.Application, з апс у к и ви залиу з ац и е р аб о ч е й кн и г и е р аб о ч е й кн и г и н а о сн о в е ш аб ло н а е щ ю с у в ет щ е й р аб о ч е й кн и г и Excel п к рабоче й кн и г е е р аб о ч е й кн и г и а ок н р аб о ч е й кн и г и а с ли асмт и р аб о ч е й кн и г и е и з ап и с ь и н фо р м а ц и и яч ей к и ли ст а р аб о ч е
Г лав
а 12. Р а б о т
О бъ ке т е н Чт и Ф орм а Ф о рл м у З ап и с О б лас т В ы р ез а н и е П ои с В ы ос т В ы р ав н и в ан и Ш ри ф Г р ан и ц З али в к П ри м е
ы Range и Cells е и з а п и с ь з н а ч ен и й яч е к ; очи кст а яч е т о тб р а ж е н и я а дн ы х яч ей к и ы ь и чент и е к о м е н а тр и е в ь (и н ервта л яч е к ) , васкт а и уалнед и е яч ей к и к и з ам ен а текст а а и ш и р н а яч ей к и е ек т с а в яч ей к е т ы яч ей к и а яч ей к и р п р о гам ы — п огвтдк а фо р м ы н ало г в
ва Гл
а 13. Р аб о т
К о л ек ц и Н ап д и с
ь
а с яч е й к а м
а с ео а б тк м ъ
Й 191
С о з а дн и С о з адн и С о з ад н и кО р т ы и Д уо с т С ро а х н е н и Н а р с то й к Р аб о т Че т н и
м Excel.Application
193 я окн
й кн и г
а п р и л о ж ен и
я
и
и
и в ги нк
к
й ек д л а р ц и
и НД
С
е Excel
215 216 218 221 224 224 230 232 236 237 241 243 244 247zyxwvut 251
в Shapes ы
193 195 196 197 200 201 204 205 210 215
• и гр а н и ц а
и
а с о б ъ ке т
В И П Р И ЛО Ж Е Н И
а 11. Р аб о т
В ы н о ск
и Delphi
и
Г лав
иЛ н и З али в к
163 166 172 174 177 178 181 186 188
е
С ЧА Т Ь I I I . ОТЗБКР А А Д О К МУ Е Н Т О M S EXCEL В D ELP H I
я о б ъ ке т
163
251 252 255 262 270
j5zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA
иЛ н и П р о и з в о ль н ы О к ътб е
и
в а Гл
а 14. Дм а р гаи
е риф уг ы WordArt
271 273 274zyxw
ы
П р о г ам и р о в ан и К о л ек ц и
в а Гл
а 15. П аетч
Р аз р ы О к ъб е З ан д и З ан д и К ол н и ут О р и ен а цт и П еч а т П в р еа д и л ь т н ы П еч а т в а Гл
Э л ем н т Э л ем н т С о з а нд и Э л ем н т Г лав н о С о з адн и И сп о ль з о в ан и К о л ек ц и П ри м е
й кг и н
ы в ае б о р ч
е ди агр м я Charts, раз м ещ ен и Ти п ди агр м ы О б ъ н ке т а я м е ло д ь и д ар г м О б л ас т ь и д а гр м ы З ао г л в к ди агр м ы тО с а л б ь п о ср т е н и я и д а гр м ы не г Л д а Ос и Р дя ы и точ к и О б ъ ме н ы е и д а гр м ы О с о б ен о с т и н е к о рт ы иЛ н и и с ер и й (роядв иЛ н и и п р о ек ц и и К о р и од р к о л еб а н и П ол с ы п о н и ж ен и Н е к о рт ы е доп о лн и етль н ы иЛ н и и в ы н о ск и дл П ол с а п о г р е ш н о се т Ли н и я р ет н д а
zyxw
а н и ое С р д ж
е Excel
279
м Excel в Delphi е и д ар г м ы и инодсхы
х адн н ы
х
ы
, осн ован и
х ит п о )
е и сне т
в ди аргм
я (и з м ен ен и я я и п о в ы ш ен и е э л ем н т я п опд и се й
ы и д ар г м
ы
м
) я ы ро я д й адн н ы
в х
279 280 285 286 289 290 292 293 296 299 305 307 308 309 310 311 312 312 314 315
ь
319
в сртан и ц ы т PageSetup е о б лас т и п ч е ат и е п о ле й ср т а н и ц ы ы я и раз м е р м и аг б у , н о м е ь з а го л в к о в рс т о к и солтбц о й п р о см т р и п чеат ь домкуен т а
319 322 324 324 325 327 330 331 332
а 16. Пинаов ри м а р ог р
е с о вй т
р п ер в о в и л и н и ь о б ъ ке т
й ср т а н и ц ы й с ке т и в р аб о ч е
, м асш ат , черн ова й кн и г
в M S Excel
ы п у р а в л ен и я п р и л о ж ен и я MS Excel ы к о л ек ц и и CommandBars е п о л ь з о в е л а ьт с к о й п а н ел и (м ен ю ) ы п у р а в л ен и я и и х свой ст а е м ен ю е п о л ь з о в е л а ьт с к о г о э л ем н т а п у р а в л ен и е Visual Basic Editor я ди ало г в р п р о г ам и р о в ан и я п а н ел и
я
б я п еч а т ь и Excel
335
335 336 346 348 351 353 357 367 370
zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA
а н и ео С р д ж
Ь IV. ЗОРБТКА
С ЧА Т Д И Н МА И ЧЕ С К И
Х Б И Б ЛИ О Т Е
Г лав
а 17. С озанд и
С о з адн и С о з адн и Н еяв н а Яв н а
я з ар г у к
ва Гл
а 18. И сзопьаливн
а л ум о д а л у м од
Е Ы С M S OFFICE
й би блкеот
й б и л ое к т й ид н а м и ч е с к о я DLL я D LL
и DLL
й би бл оект
375 382 384 386zyxwvu
и
х M S Office
р в мл у до
е о м кд е у н т
й би бли оект й би бл оект
391
а
и дл
я е е и сп о ль з о в ан и
392 394 я
и
Я
П ои л ж р е н
е 1. Оеыбткъ
П р и л о ж ен и е Д о м к уе н т О б л ас т О б л ас т Ш р и фт К о л ек ц и Т абли ц а К о л ек ц и О б ъ ек П р и л о ж ен и е Р аб о ч иЛ с П ио л рж е и н
к п ок д л ю ч и ь т с к о с в б оид т к в ас ти к в ы б р ат к добав и т к п р о н м уер о в а т к и з м ен и т к р еш и т к р еш и т к к о п и р о в ат к о б ир а т ь с к в вы бран о к з а п о л н ят
395 401 405
, совйт
а и е о т мд
MS Word ы Word ь Range ь Selection , свой ст а и модте ы я табли ц , свой ст а и мод те , свой ст а и од м те ы я о б ъ ек т в Shapes, свой ст т Shape, свой ст а и модте ы MS Excel я кн и г а Excel т р аб о ч е й кн и г и Excel е 2. Оевт
373 375
и
е D LL в осарк м
е в н еш н и х фну к ц и й и п роц уед е о вы з ова х е в сред е Delphi ди н ам и ч ес к о х Excel е с о з адн н о й ди н ам и ч еск о
П Р И Л О ЕЖ Н И
Ка Ка Ка Ка Ка Ка Ка Ка Ка Ка Ка Ка Ка
е п оль з оевльатск
е п о л ь з о в е л а ьт с к о е п о л ь з о в е л а ьт с к о я з ар г у к
О п и сан и С о гл а ш е н и С о з ад н и в м ак р о с И сп о ль з о в ан и
А В D ELPH I И И С П О ЛЬ З О В НА И К Д Л Я Р БОАТ
ы н а ос р пв
ы
407
,
407 412 418 423 425 426 427 428 429 432 439 443
ы а и мод те
ы
ы
я к вы п олн яю щ емс у я п р и л о ж ен и ю Excel? ь п а м ят ь п осл е о к н ч ан и я работ ы в Excel? ь в домк уен т Word ри нсу ок , н е п ерм щ а я текст ? ь м ас ш т б о тб р а ж е н и я дмокену т а Word? ь н ову ю ср т а н и ц у в домк уен т Word? ь ср т а н и ц ы в домкеун т е Word? ь п ол ж ен и е табли ц ы п о гори з он алит ? ь п р о б л ем у с добавлен и е м н ов й табли ц ы в домк уен т Word? ь ти п и ч н у ю п р о б л ем у н а ср т о й к и раз м еро в ди арг м ы ? ь ли с т в Excel? я к сщ ую всетщ е й и д а гр м е в окрты от й к н и ег ? й яч ей к е табли ц ы домкеун т а Word п и сат ь сн и з у х р ве ? ь ран е е с о з а дн ы е н па д и с и кн и г и Excel и з п роек т а Delphi?
455
455 456 456 458 461 462 464 466 466 468 470 471 472
8
к та р бо
Ка
ь с абз ац м и Ка
Ка Ка Ка Ка Ка
Ка к о п ел р и д т к п ер м щ а т к в ы ли е д т к в ы ч и сл т к з акреп и т
к п ре в с т к со з атд
П о ли ж е р н
? и си м в о л ь н овы й ист л ь к о ри д н а т ь р со к у р п о ь о б лас т ь л и са т ь аред с и раз м ер ь н а э к р ан е област
ы ткест а в вн рех и й и л и н и ж н и ь такест ? ы п о л ж ен и я дл я яч ей к и табли ц ткест у о м кд е у н т а Word? , з ап олн ен у ю дан н ы м и ? ы в ы ел дн о й о и б л ас т ? ь ли ст а Excel?
е 3 . Осипан
е - т ка п о м с и к д
Prog03 Prog05 Prog06 Prog07 Prog08 Prog09 ProglO Progll Progl2 Progl3 Progl4 ProglS Progl6 Progl7 Progl8 Progl9 Prog20 с ои п С ы ен т Пм д р
zyxwv
а н и ео С р д ж
:
к р ута ерил
ы й ка уз ет л
а
й и н екдс
?
ы Excel?
475 477 478 479 480 480 481 482zyxw 483
483 483 484 484 484 484 484 484 485 485 485 485 485 485 486 486 486 487
ь
489
О т атв ор
а
zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA
В ы р аж ю б л а го др н о с т ь в с ем , кт о ажд л эт у кн и г у и в с ел я л в м ен я си л у и в уе р н н о с ь т , — в о с н о в н о м э т о ч и ел а т и м ои х е ат с й в к о м п ь ю е тр н о м из ад н и и "К о м п ь ю етр н ы е В и ес т " (http:/ / www.kv.by). И х ч и сл о н е ат к в е л и к о (д о 10 000), н о блаогрд я и х а ки т в н о с т и я р и ск н у л п р о дл ж и т ь р аб о т у жу е в ви д е к н и ги . Н есчлуай н о о ид н и з р а з е лд о в п о с в ящ е н а в о ет м н а н аи бо ле е ч а сы т е воп рос ы м ои х ч и еа л т й . е л О дь т н о б л а о гр д ю п ер в ы х ч и е ла т й и кри т ко в и о нд о в р е м н н п о р аб о т е — Оьлг у Н рет б и н у и о с б ен н о И в ан а И в ан о в и ч а Ба р дш а ры й , я в л я с ь с п е ц и а л и со т м в ы со к г о к лас , вдсге а о тг в п о е лд и ь т с от м и з н а н и ям и , в ы ск аз т ь св о е м н е н и е и о к аз т ь б е с к о р ы нс т у ка к н ач и н аю щ и м , та к и боле е о п ы нт ы м сп ец и али сатм . В п ер и о д р аб о т ы н а д к н и го й я п о з н ак о м и лс я с з ам еч лть н ы р еад к ц и и и з е л а ьт д в с а "БВХ- П ре"гбту , котры й т з а м е ч а лт ь н о п оч т и в о л ш еб н ы м и с п о с б н о с я тм и и ел а д л е к ит в , рабо т я н а д рк у о п и с ь ю с о в м е сн т о с а во тр м р ес н у ю и п о л ез н у ю л д я ч и е ла т й к н и уг . Вы жар о р т у и з е ла т ь д в с а С ер в г у и В мд а у л е к с Аа н р о д в и ч К о н к у од в й Е к еа р т и н е В л иа д м и р о в н е з а п он и м ан и е р е да к ц и , п оз воляю щ у ю п о е нт ц и а л ь н ы м ао в р т м з ам . главн ог о р а е к до т а Ш иш игн у И го р ю В ил а д м р о в и ч с от й ч и в о с т ь и п р о фе с и о н а л ь н ы й по дх , п ом гаю щ и р а с тв и т ь ак ц ен т ы и р ас ч и ат ь си л ы п р и п о г втд к О со бу ю б л а го др н о с т ь в ы р аж ю ао рк е д т у Т ем к и н о б л а ог р д я п р о фе с и о н а л и з м у и сиу л я м к о рт й з а в ер ш ен а . Я актж е б л а о гр д ю е в с х н с д о р ту и к о р"егбту , овечтаю щ и х з а в е рк с у т , кро ует у и о фо р м л ен и Ч и ае л т л д я а дл ь н е й ш е г п ро г ам и ро в ан и я
й п рош
у р а с м ра т и в а т о с а м о с т ея л ь н о г
о кол е , к о т я оп ы ю п ом щ
м к о л еки т в о т и д у в и е тл ь н ы м и е е дл о . Эо т т кол , п рев ащ ае т е е в и н ет ю п р и з н а е тл ь н о с т ь ид р е к у и л ав г н о м у р ае д к о т , преждко у и п о ли т к с о з а вд т ь к н и ги , а актж у з а ет р п е н и е , н а е о р ав т у п рав и ль н е м е ра т и л о в к н и ги й Т аь т я н е н А ао т л ь е в н е р або т а н а д к н и го й бы л в и з е л аь т дв с а "БВХ - П е е к н и ги .
г ь м
оае б л д
, у у е о . , а -
ь эт у кн и г у к а к и н смр т у е н т , опт равн у ю о чт к у о р аз в и т я св о и х н ав ы к о в в э о т й о б л ас т и .zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA о р К к вн я
Вас и л й Ниоклаеви ч www.kornjakov.ru [email protected]
zyxwvu
и е н вд В
е
zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA
Р а з р б ыа т в а я п р о г ам н ы е п ы к р т оу д , м ы п о- раз н ом у , м ен ь ш е й с е тп н и з м уы а д в а е м с я и п а р с в ет д л я м сбе е то , ка р аб от ь п о л ь з о в ае л т ь . Н о сел и вобщ е н е ч иу ы т в а ь эт о з абы в о ч ело в ек , корты й е д уб т р а б от ь с н аш е й п р о г ам о й с я н а в яз а т ь м е у с в о и п р се а д тв л н и я , т о н а с у жд т ча н д у е и П о л ь з о в а е лт ь н а с н е п ой м е т и н е о ц ен и т н аш и сиу л я и и н е лт к ч т о м ы п ро ст о н е с м о лг и и х п р о яв и ьт . Г лавн о е — дат ь человк в а т ь в еу р н о с т ь в с о б в те н ы х си ла х и от , чт о п рог ам н ы со з ад н и м ен н о дл я н его .
в бо ль ш е й ил к с н им и е д уб о б с т ея л ь с в т о , и л и п ы ьат и раз о ч аро в ан и е , п омт у п о вч с у т й п к ур о д т бы
Н ес о м н ен н в о р еч и я п о л ь з о в еа л т ь щ ей п о л ь з о в а е тл и
й ес т ь п р о ит а "п р о г ам а т бы т ь р еш а ю и у д уб т о б щ ьа т с , ос б г о п од м л д я п о срт е ь и п р и м ен ят ь щ су е т я о б щ еи з в е
о от , чт о в онт о ш ен и я х п о л ь з о в е ал т , и со в ер ш ен н о ясн о , чт о п роблем " чоаст и о п р елдя т э т и п р оит в о р еч и . И з в еснт о , чт о п р и со з адн и и п р и л о ж ен и й , раз рабокт а и н е тр ф й с а е бр у т а од х , о п ы т а и з н а н и й . Гд е вз ят ь оп ы т , к отры н и я в з а и м о е дй с в т и я ч ел о в к а и п р о г ам ы с о б вт е н н ы й оп ы т , а м о ж н о п ой т и иг р у д юву щ и е и н м ср т у е н т ы п о с рт е н и я и н е тр ф й с а снт ы м и и о б щ еод п с у т н ы м и . В дан н о й кн и г е р еч о рт ы е м ож н о п р и м ен ят Т ак и м и и н м с р т у е н а мт Microsoft. П П р и л о ж ен и п о л ь з о в ела т л яю с т в ан жи т п еш н о м
ь п о й ед
я с п р о г ам о а и н е тр ф й с я и м ож е , с к отры м т бо ль ш и х з ра т й а т к н ио е д б х ? М ож н о н ак о п и т м е тпу м и и сп о ль з о в ат , к отры е яв л ю с т
т о б и сп о ль з о в ан и и п р о г ам н ы ь в к а ч в се т е и н м ср т у е н о т в п о с рт е н и и у м го т ж и с лу т ь п р о г ам н ы
я MS Office вобрал я п ер с о н а л ь н о г о к о м п ь ю е рт я н у и в ер с а л ь н ы м и и н м с р т у е н а тм и ы в п р и л о ж ен и я , соз авд ем ы ь е т м с в яз ы в а ю щ и м э л ем н от м у в н ре д н и ю в аш и х р аз р аб о тк
и в с еб
я б ы о а гт а и п р о г ам н о г , к отры
.
т , . у л
— я ь -
, к о
-
я и н етр ф й с а е п к тр уо д
. ы фи р м
в з а и м о е дй с в т и о п к т р уо д а и я в т бы т ь и н е тг р и р о е у м го х а с р де х р а з б ок т и и слу й м ож е т п ол ж и т ь н ач л о су
е в р аз ли ч н ы , котры
й оп ы т
х п р к о ут вд
и
ы я -
12
zyxwvu
В ве н д и
П zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA П о а дв л я ю щ е е б о л ь ш и н св т о п о л ь з о в ела т й и чз у л и MS Word и Excel и раю б о т т с эит м и п р и л о ж ен и ям и , н е п о м ы ш ля я п оеирдх т ь к иг р д у м . • М н о иг е сп р ав о ч н ы е и п р ав о ы м и р аз ли ч н ы х ш абло н о в о д мк у е н о т в от в Word и Excel, и и х м ож н
е с и ем т о и н жну
ы аю о б л д
т обш и рн ы м х в фо р м а т .
, в ы п о лн ен ы о и с п о л ь з о в ьа т
ы MS Word и Excel, к а к и п ри ло ж ен и е м ел о д и и у м го т п у р а в ьл я т с и п р о г ам ам и .
• Д о м к уе н т ч к е ит в н еш н и м
е о б ъ екн т ы
Э т и фа к т пк т ур о д р ма г н ы
ы ж а с лу ы в к а ч е св т х п р к о ту в д
т м а р ен у г м т е н у и в ер с а л ь н о г .
В оэ т й к н и г е р еч ь п ой ед Office, а и м ен н о — п роц ес ор п р о ц ес о р а MS Word, лд чо т е в ) , э к с п о р т а и и м п орт ы т в ма е ы х в сред е в и зальу н о г
Delphi — оид н и з с ам ы х п о л яр н у ы кбо т и сло ж н ы х п р и л о ж ен и й , и воз м ож н ост ж ен и й MS Office в раз быат ваем ы ом т у о д к а з е тл ь с в о .
-
я MS Word и Excel, и мюе т я к а к в н р т еу н н и м и , ат к и
и в п о ль з у о тг о и н е тр ф й с т о б и сп о ль з о в ан и а э л ек р то н ы я фо р м и р о в а н и а и н фо р м а ц и о п р о г ам и р о в ан и
и н або р е о д мк у е н
, чобт а лд
ы и сп о ль з о в ат я р а з б ыа т в а ем ы
ь ад н н ы
е х п ро
и п р и л о ж ен и х а бт л и
й и з с ао в т ц MS Excel и ектосв г я вынод х х о д км у е н о т в (н ап р и м ер и и т . д . в п р и ло ж ен и ях , раз ба я Delphi. х и э ф е к ит в н ы е в эот
х и н м ср т у е н о т ь и н е грт и о в а т й с р ед
е п р о ек т
-
а MS о , -
в р аз ь с в р те д а п ри ло ы — бес п о рн о
е
В н а со т я щ е е в р ем я е с т ь о д ас т ч н о м н ог о р а з н о р нд о й , орты в о ч н о й и ра з о б щ ен н о й и н фо р м а ц и и п о и сп о ль з о в ан и ю MS Word и MS Excel в п р и ло ж ен и я х D elphi. В о сн о в н о м эт и си ль н о р аз м ы т е с в е дн и я щ ю с у в те т в ви д е и н е тр н е- т с р т а н и ц в раз ли ч н ы х ал о г к т х л д я п р о г а м и со т в . Э т а к н и г а — п о ы кт а с о з атд ь ие д н ы й и со т ч н и к с ц е л о сн т ы м п р с е а д тв л н и е м , а ак ж т е п о к аз т ь т п у и и о д м те ы р еш ен и я з а чд , в о з н и к аю щ и х в с в яз и с ис х п р и л о ж ен и ях . п о ль з о в ан и е м Word и Excel в раз р быат ваем ы Кн иг
а с о ти
т и з чы те р
х ч а с е йт
таьс Ч I п о св ящ ен а о бз р у о б ъ не к т ы м в рс т о е н о г MS Office, о с бен н о сят с м о р те н ы и н м ср т у е н т ы и о бщ и ит з а ц и и MS Office.
. х м е ло д о яз ы к е п ри н ц и п
й о д мк у е н о т в и п р и л о ж ен и а Visual Basic. В н е й актж е рас ы с о з а дн и я к о н р то л ер о в а во тм
й -
таьс Ч I I к н и г и п о л н о ьс т ю п о с в ящ ен а р а з б ок т е в срде е Delphi к о н рто л е р о в а в о т м иа з а ц и и п р и л о ж ен и я и о д мк у е н о т в MS Word. В эот й част и рас с м ортен ы п р а к ит ч ес к и е воп рос ы р аб о т ы с е к т со м о дм к у е н т а Word, соз ад н и е п р о с тг о е к т со в г о о дм к у е н т а п о ш аблон у и моыедт , и сп оль земуы е лд я з ап о л н ен и я ш абло н а . елОдьтн ы е в ал г ы п о с в ящ ен ы р аб о т е с а тб л и ц а м и и с о з адн и ю а бт л и ч н ы х о д км у е н о т в , работ е с о ш р и фо т м , с в н ртеу н и м и и в н еш н и м и о б ъ е ка м т и о дм к у е н т а Word. Р ас м ортен о и сп о ль з о в ан и е п ро ц у де р в ср т о е н н о г о яз ы к а WordBasic — о сн о в н о г о в ср т о е н н о г о и н м р с ут е н т а р ан н и х в ер с и й MS Word. П ри венд ы п р и м ер ы ге о и с п о л ь з о в а н и я лд я с о з -
В ве н д и
13 zyxwvuts
ад н и я о д км у е н о т в Word и з п ри ло ж ен и й D elphi. Т акж е в эот й част и о п и сан ы о б ъ ек т ы сам о г о п р и л о ж ен и я MS Word с и х свой встам и и м ао де т и н а о с н о в е п р а к ит ч ес к и х п р и м ер о в п р о г ам и р о в ан и я м ен ю , п ан ел й пу р ав л ен и я , кн оп ок . Н а ельдонт ы х п р и м ер а х р а с м о р те н о у дс т п к м ак р о са м и з п ри ло ж ен и й D elphi.zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA I II к н и г и п о с в ящ ен а р а з б ок т е в срде е Delphi к о н рто л ер о в а вотм а таьс Ч ит з а ц и и MS Excel, о сн о в ы с о з ад н и я к о рт ы х п р и в е нд ы в ав ег л 11. Н а п р а к ит ч ес к и х п р и м ер а х р а с м р ти в а ю с т я о б ъ ек т ы и м ыо д ет , о бесп еч и в аю щ и е оу с д т п к рабо ч и м к н и га м и ли сат м MS Excel и з п р и ло ж ен и й , со з адв е мы х в Delphi. В авег л 12 о п и с а н ы о б ъ ек т ы и м о ые т д , о бесп еч и в аю щ и е од с у т п к е ло д ь т н ы м яч ей к а м и к о б л а яс т м яч е к ли ст а р аб о ч е й к н и ги . Н а о с н о в е эот й и н фо р м а ц и и р а з б и р ас е т я п ри м е р п р о г ам ы , реали зю у щ е й з ап о лн ен и е н ало г в й е дк л а р ц и и н а о сн о в е п о гд тв л ен о г о ш абло н а од м к уе н а т . ав Гл 13 п о с в ящ ен а в н р те у н и м о б ъ е ак т м (н апд и си , в ы н о с к и , его м ер т и ч е с к и е ф и р г уы ) . В н е й рас м арти в аю ст я вс е в о п р о с ы , с в яз а н н ы е с с о з ад н и е м иэ т х о б ъ е к т в и н а ср т о й к о й и х св о й ст в и з п р и л о ж ен и й Delphi. еОл д ь т н ы е л ав г ы р ь ет й ч ас т и п о с в ящ ен ы а ле ть д н о м у р а с м ор тен и ю о бъ е к нт о й м ое л д и ид а гр м ы и п р о г ам и р о в ан и ю е е с в о й свт , а актж е на с рт о й к е п а р м е то в с рт а н и ц ы , н асрто й к а м п р и н е тр а и п че а т и од к м у е н о т в . В з а к л ю ч ен и е р ь ет й ч аст и р а с м р ти в а ю с т я о б ъ ек нт ы е лм е о д и э л е м н от в п у р а в л ен и я п р и л о ж ен и я MS Excel — п ан ели , м ен ю , к н о п к и , и х со з адн и е и п р о г ам и р о в ан и е и х с в о й св т ; о п и са н доуст п и з п р и л о ж ен и й Delphi к э л е м ен а т м п р о ек т в , со з адн ы х с и сп о ль з о в ан и е м в ср т о е н н о г о яз ы к а Visual Basic, к отры е м уог т и о д в тх ь в соат в р аб о ч и х кн и г MS Excel. О п и сан и е р або т ы в ес х о б ъ е к т в и мо д ет в п о к д р е п л я се т я ф р а г м е н а мт и и о н сд х о г о е тк сат , к о тры й м ож н о и сп о ль з о в ат ь в свои х п р и л о ж ен и ях . таьс Ч IV к н и г и п о с в ящ ен а ид н а м и ч е с к и м б и л и о е тк а м с о з ад н и е и и сп о ль з о в ан и е ди н ам и ч еск и х б и л и о е кт , сеорждащ и и фн у к ц и : дл я работ ы с домкуен амт и MS Office и з п ри ло ж ен и и сп о ль з о в ан и я в м ак р о са х о д мк у е н о т в Word и Excel. р ук т с а и но д с х ы х фа й л о в а кт и х б и л и ое т к и р а с м о ртен п р и м ер ы и х яв н о й и н еяв н о й з а гр у к и . В гаве л 18 н а п ри м ер н и я ув д х ф н у к ц и й , онд а и з к о тр ы х п р ео б а з у т ч и сло в м ен н о й в ег о ектсовы й э к в и в а л ен т , а даг ру я о бт р а ж е т в о з р ащ ае т в е дн ы е в н е м п о л ь з о в е ал т м з н ач ен и я м о н с рт и р о в а н о и сп о ль з о в ан и е р а з бы а т в а ем ы х ид н а м и ч е с к и о м к д е ун а т х MS Office. Кн иг а с ое р д ж и т рт и п р и л о ж ен и я . ине жо илрП р а с м ар т и в а е м ы м в кн и г е о б ъ е ка мт , и х свой вста п о с в ящ ен о а в о ет м н а ти п и ч н ы е воп росы , в о з н и к аю щ и м е н а мт и MS Office в сред е Delphi. В ине жо илрП н ы й к о м п а к - т ид с к к н и ги .
1 яв ляест м и м о еа т д 3 о п и с а
. Р ас м арти васет
В гаве л
е ид а л о г в в о д км у е н т
я х п р о ц у ед ы й D elphi; дл я 17 о п и с а н а ы в ар и ан т ы и е и сп о ль з о в а з н ач ен и е п ер е окн о и , п роед х б и л и оет к в
я сп рав о ч н и к о . ине жо илрП е п р и р аб о т н с о п р о в и д е тл ь
м п о 2 е с о кд у
-
_74zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA
zyxwvu
В ве н д и
В zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA п ки с еС лаитыруе куаз н ы доп о лн и етль н ы е и сот ч н и к и и н фо р м а ц и
.
й т е ын м д е р П
.
уьк азтле
сп осевбут
т б ы р о с тм
Кн иг а п о ср т е н а п о п ри н ц и п у "о т п росгт о п р и м ер о в , п о з в о ляю щ и х бы р ст о и сп о ль з о в ат р ес о в а н а р а з р а б о чт и к а м п р о г ам н о г о о б ес п еч н и я д рс е е Delphi, и м ею т о д са т ч н ы й оп ы т р або т о д п л н и е лт ь н ы х з н ан и й и с о в е р ш е н св т о а н и н а и н ач и н аю щ и м п р о г а м и с а тм , з н ак о м ы п р о г ам и р о в ан и я Delphi. З н ан и е и оп ы т и сп о ль з о в ан и Visual Basic п р и ло ж ен и й MS Office скуоря ч ш лу и х р е з л оь а вту . Кн иг в ал г н ен пи с т у а нт а в л и в а с е т пн у к т ак ж т п р о е ак х т ер с а л г к т и п р о ек р ам г ж ен н ы о бр аз о м и з м ен ен и п р о ек т
у п о и ск к слож н ом"у ь п оч л еун ы
у н ж у ог
о е рт м и н а , соердж и е з н ан и я
т м н ог о . О н а ад , к отры е р аб оют т в ы и ср т е м я я к п ч о ле н у и ю ю оп ы т а р а б оыт . К н и г а п о л ез м с о сн о в ам и р або т ы в с р де е я в ср т о е н н о г о яз ы к а т чо б е н у и е и п ом уг т о д си т ч ь
а с о п р о в ж а с де т я к о м п а к - т ид с к о м , н а к о тр м е о лд т ь н о л д я к а жо д ы р аз м ещ ен ы п о лн ы е и но д с х ы е ект с ы п р и м ер о в . Вс е п р и м ер ы вы п ол ы в ви д е з а к о н ч е н н ы х п р о ек тв , к о тр ы е м ож н о о кт м п и л и р о в а т ь и за ь н а в ы п о л н ен и е . К аыжд й п р о ек т р а з м ещ е н в е ол д ь т н о й па к е и су я н а ж е с кт и й ди с к к о м п ь ю е рт а е тп у м в ы бо р а о п р е дл н н о г а м ен ю з а гр у о ч н о й п р о г ам ы . Н а со п ро в ид елть н о м к о м п а к - т ид с к е р аз м ещ ен ы б и б л и о е тк и , котры е в ы м о ж те е и сп о ль з о в ат ь в св о и , и н ес к о л ь к о п р о ек тв , п р ен д а з н а ч е н ы х лд я фо р м и р о в а н и я х уб х о д км у е н о т в в в и д е о д мк у е н о т в п р и л о ж ен и й Word и Excel. Э т т "П лаетж н ы е о д км у е н ы т " и п роек т с ол а т ж е н ы м ф р а гм е н о т м п ро ы фо р м и р о в а н и я н ало г в й е кд л а р ц и и в фо р м а т е Excel. Вс е п релдо е н а с о п р о в и д е лт ь н о м к о м п а к - т ид с к е п р и м ер ы в ы п о л н ен ы а тк и , чобт ы и х и он сд х ы й ек т с т м ож н о бы л о л е гк о , бе з щсу евстн ы й и в р ем н ы х з р ат т п ер н ес т и в лю бо й р а з р а б ы т в а ем ы й в ам .
й о е х о м х и
ТС А Ч
Ь ы и ои щб
в о нс О р а з б от к и пеин лжро и з ви енш
I
zyxwvutsrqponmlkjihgfedcbaZ
е ппи ц нир
ы
и дму коетн
в й MS Office х пармго м
лав Г
а 1 . zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA ын т ке б ъ О е м оедл и MS Office
лав Г
а 2. сОоб ен с т MS Office
лав Г
а 3. бОщ и е п р и нц MS Office
лав Г
а 4. бОзо лд
р инсрмут оен я б о т ар
и вср отен г
о язык ы с о зднаи
в с др е ы с MS Office
а про гма м иро внаи
я
я кронетл ы разрб окт
в о в а мт и з т а ц и пенир лож
и й Delphi
ВЛ А Г
А 1
т ые н к ъ б О
е м еодл
и M S Office zyxwvutsrqponmlkjihgfedc
Е сл и п р о с е т ди т р еш а т ь сло ж н у ю з ач у д , м ы дгвес а з м уы а д в а е м с с ч ге о н а ч т ь и к а к п о дй т и к е е р еш ен и ю , к а к п р ав и ль н в р ем я и к а к с ро а х н и т ь п р и эо т м с и л ы . Елс и п ре д н ам и о с ит м аи т з а ц и и р а з р а б о кт и о д км у е н о т в в фо р м а т е MS Word и л с ч ег о м о ж н о бы л о б ы н аь ч т ? Т е к со т в ы й п р о ц ес о р MS Word и в соа т в MS Office, яв л ю ст я С ОМ п р о г ам а , н ап и сан н а я дл я соврем н ы э ит м и о б ъ е к а тм и , есл и о н а перждои вае н изм а р аб о т ы э о тг о з а м е ч алть н о г р е у та , а м ы з ай м е с я о б ъ е ак м т о н и р а б о ют , п оск ль к у о н и такж ве О т т н а воп ро с р а с м о ртен и асв т н ы х ч а се й т од й т и к р а с м о рт е н и б р аьт с я , к а к D elphi. Р а с м орти
е т а к н Об ъ
с "с чге я р ук т с , о с бен о сет
ю о бщ и эи т
м м ож н
м р укт р с
у о б ъ е кн т ы
я м е дол Ка
о н ач ь т? ы м ле о д
табли ч н ы о б ъ е к а тм и
р MS Excel, оящвдх и е . Э т о о з н ач ет , чт о лю ба я х в ер с и й Windows, може т п у р а в л ят ь т и н е тр ф й с С ОМ . Т о н к о ст и а мх е о и н е тр ф й с а о п и сан ы в сп ец и аль н о й ли и Word, Excel и докмуен атм и , с к отры м и е яв л ю с т я о б ъ е к а тм и .
" н ап раш и васет й о б ъ ек т й в р с от е н о г х п ри н ц и п о
о п у р а в л ят х м ле о д
й п р о ц ес о
я с а м со б й — н ач т ь нжу в MS Office, в з аи м о св яз е й и х со о яз ы к а п ро г ам и ро в ан и я , п о в авотм аи з ац и и MS Office и р аз о ь и з п р о г ам , н ап и сан н ы х в с р де
о е
й MS Office.
ь M S Word
к ви н д о и з р и с . 1.1, обънект а я л ем од ь MS Word и ме т р ве до и н у , н а в ер ш и н е к о тр й н ио д с а х т я о б ъ ек т Application. К о л ек ц и tion), оящвдх и е в сосат в о б ъ екн т о й м о е лд и , п расветдляю т со б н ои т п н ы х о б ъ еко тв , оудст п к к о тр ы м о щ с у ев с тл я я п о и н е кд с у н ы е о б ъ ек т ы му о г т с оерд ж а т ь к о л ек ц и , в сво ю очерд
ру т
я о от м , о р а с п р е дл и т ь т з ач д а а в от и MS Excel, т о
ю к р у ст и (Collecй сп и ск и од . ельдОт ь э л ем н т ы
аЧс т ь
18
к о л ек ц и э л ем н т ри с ли т э л ем н п ар с в е т д л н ас в т л е н и
I. Ос но вы
р азр б о т ик
преин лойж
MS Office и з
внеш ни х
пр о г ам м
zyx
и яв л ю ст я обы ч н ы м и о б ъ е к а тм и . Доуст п к лю бо м у о б ъ ке т у ил и у к о л ек ц и и воз м ож е н о тл ь к о ч ер з к о р н ев о й о б ъ ек т Application. Н а . 1.1 о бъ екнт а я м о е лд ь и з о б р а ж ен а в к у рп н е н н о м в и ед . М ож н о вы ед ь и боле е а е лт д ь н о р а с м о р те ь н ек о тр ы е ч с ат и эо т й м о е лд и , н ап р и м ер , т к о л ек ц и и Documents — объке т D ocument (докм уен )т . Н а р и с . 1.2 а р ук т с а о б ъ ек т а D ocument в от м ви ед , к отры й а ед т п р е д е о ге о о с н о в н ы х э л ем н а т х и и х в з аи м о св яз и .zyxwvutsrqponmlkjihgfedcbaZY
ени р П о л ж
й оек б ъ Selection
В ы е длн
е Word Word.Application
цо и е л к К т
я оыртк до м у к о е н т
х
о ц иел к К уп р ав л е н и я
в Documents
с во й с т
в Со й с т
а доумк ент
я
ел Э м е н т
ц и о е лк К о щ вя дх и с ек т . 1.1. натек бОъ
,
в е н пи р л о ж Word
ы о к л ец и й : п на е л и , кно пик , м еню , т 1 ди ало ги , с войс т а ltem(1) zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQP е п н ри л о ж я
а
иР с
в
d
i
о ум к Д е н
и э елм оент , ди ало г в
я м оелд
и и ые тк о б ъ е в до укм ент , табли цы и др
, : , бацз
. тек об ъ
ы ы
ь MS Word
В с оа т в о б ъ ек т а D ocument яодвх т к а к э л е м н ыт , о п и сы в аю щ и е ге о в ц е ло м , ат к и э лем н ыт , яв л ю щ и ес я с о е рд ж а н и е м о д мк у е н а т . Н ап р и м ер , к о л л ек ц и я с в о й с вт , о п и сы в аю щ и х п о л ь з о в еа л т ь с к и е а рх кет и с т к и о м д к уе н т а (н аз в ан и е , емта , авот р и др . ) , онт оси т я к домкуен т у в ц ело м и в и заль у н о н е о б тр а ж с е я в докмуен т . К о л ек ц и я табли ц — э лем н т , котры й я в л се т я ьч ас т ю с о е др ж а н и я о м д к уе н т а и о бт р а ж с е я н а г е о ср т а н и ц а х . В сво ю о ч ер д ь э л ем н т к о л ек ц и и м ож е т с е ор ж д а т ь с в о и о б ъ ек т ы и к о л ек ц и . Н ап р и м ер , каж д я а бт л и ц а с ое р д ж и т к о л ек ц и и ср т о к и сот л б ц о в , а актж е э л ем н т ы ти п а "яч ей к а" . К о л ек ц и и му о г т в к лю ч ат ь н е от л ь к о п о л н о сьт ю т щс у е св т н о о лти о нд о и т п н ы е э л е м н ыт , н о и э лем н ыт , к отры е му о г г о т аг р у д . К о л ек ц и я фо р м (Shapes) соердж и т э л е м н ыт , о нд о ч ьатс я ру д ит п н ы е п о сп о с б у с о з ад н и я и р а з м ещ ен и я , а п о соедрж ан и ю — р а з л и ч н ы е .
л ав Г
1. бетОкъ ны
м еолди
19 zyxwvutsr
MS Office
р кытО
й доумк ен
я с во йс т в д о укм е н т а Docu m entProperties (назв ни е , тем а , аовтр , с и ат к а и с ан и о е д р ж )
т
о л ц Ке и к
о Кл е ц к и б а ил ц Т
я сотлб ц Columns
а 1 ltem(1) о л ц Ке и к
о ц ел и к К
я тбаил Tables
я срто Rows
я фор Shapes , р и с уник груы фи )
(надпи с ь
о л ц Ке и к —
ил
и в выделно е с тк
а Cell
м ,
я с ол , в нпдаис
в до укм ент
к
ц
- т е к б О ъ е йчя к о л ц Ке и к
в
в и м
се к Т в выделн о
т в доумк ент
е Words
Ри с
. 1.2. Онеатк б ъ
е и л м отек б ъ Range
я м оедл
и е
а MS Word zyxwvutsrqponmlkjihgfedcbaZYX
ь доумк ент
Э л ем н т к о л ек ц и и Shapes м оже т с ое р д ж а т ь н а пд и с ь (Textbox), в н еш н и й о б ъ ек т (OLEObject), л и н и ю (Line), п о л и л и н и ю (Polyline) и дигру е ит п ы о б ъ е к от в . О с н о в н о й объек т о д мк у е н т а э то , к о н е ч н о , текст . Дл я дпоуст а к текст у м ож н о и сп о ль з о в ат ь к о л ек ц и ю Words и л и объек т Range. Э лем н т ы к о л ек ц и и Words — о бъ екыт , к отры е о б рт а ж ю т сло в а в ект с е и с о е рд ж а т и х а хр к е т р и с т к и . О бъек т Range оп и сы вае т ек т с т и л и ч аст ь е кт с а ц ели к о м . К о н еч н о , о бъ екнт а я м о е лд ь о дм к у е н т а н а ри с . 1.2, о п и сы в ае т ге о а д л е к о н е п о л н о сьт ю . П о л ез н о рас м орте ь ещ е и объенкт у ю м о е лд ь э л е м н от в уп р ав лен и я , о бъ ек т "ш р и фт "zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA (с.м гаву л 7) и объек т , к о тр ы й о п и сы в ае т п ар м ет ы с рт а н и ц ы (с.м гаву л 8). Н а р и с . 1.3 п ри вед н общ и й ви д р у к т с ы о б ъ ек т н о й м ел о д и э лем н от в уп р ав лен и я MS Word. К а к в и нд к о л ек ц и ю с е ор ж д а т н а рс т и в а т
о и з ри с , и м ею щ у ь к а к о б ъ е к ыт ь и од п о л н я ь т
. 1.3, вс е э лем н т ю р дев о и н д у , ат к и в ло ж ен н ы . П о ль з о в аелт
ы п у р а в л ен и ю ру к т ру с
, кажыд е к о л ек ц и ь и п р о г ам и ст
я MS Word со б р ан й з еу л к о тр . Э т у р уктр с , и сп оль з у
ы в но д й м ож е у м ож н я о п р ед
у т о -
20
л ен н ы в и з и р о в ат н ен
аЧс т ь
I. Ос но вы
е и н с р мт у е н ы т ь лю бо
, муог л ил
й з еу
ы м оеытд
разб о т ик
преин лойж
т од б а в и ь т и о б ъ ек
, соювуте щ и
MS Office и з
, алидь ту й р ы ук т с
т э от
, м о ид ф ц и р о в ат
и э лем оент , ди ало г в
о ц иел к К с во й с т
в ла н о Г
е м ен
_г
м у д у б м пу р а в л ен и я
-
.zyxwvu
, я
ы м ен
ю
Item () zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFED ел Э м е н т ы ю
п о дм е н
н еа л П
и а к ит т вы п ол
в
в енпир ло ж Word
ел Э м е н т
и э от
zy
пр о г ам м
ь ил
. П р м э лем н ат
е а к ит в и з и р о в а н н ы
уп р ав л е н и я
внеш ни х
ю ItemQ
и на др т С
ел Э м е н т я
ы
п у р в а ле н и
я Item ()
о Фр м и ат р о в ан и
ел Э м е н т е
ы
уп р ав л е н и
я Item ()
L_
з с о П еа ль в к т
я п на е л
ел Э м е н т
ь
ы
пу р в а л е н и
я Item ()
Ри с
ро
е т а к н Об ъ
М ы р а с м о р те л й п ом ж е
. 1.3. Онатек б ъ
и о сн о в т н а м пр
я м е дол
я м оедл
у о б ъ екн т о и с о з адн и
ь э лем еонт
й м ле о д и п р и л о ж ен и й
в упрвалени
я MS Word
и MS Word, п раседвтлн и .
е о к о т
-
ь M S Excel
О б ъ екнт а я м о е лд ь MS Excel п о о бщ и м п ри н ц и п а м и ед н и т ч н а о б ъ екн т о ь актж е и ме т и ер а х ч ес к у ю ру к т с , в к о р м ел о д и MS Word. Э т а м оелд н е к о тр й н о и да х с т я о б ъ ек т Application (Excel.Application), ч ер з к о тр ы о б е с п ч и в а се т я оу с д т п к лю бо й к о л ек ц и и и л и в н р ет у н ем у о б ъ ек т у п ри л о ж ен и я MS Excel и л и к к о м п о н ен ат м к о рт ы х р або ч и х кн и г . О бщ а р ук т с а о бъ екнт о й м ое л д и MS Excel п расевтдлн а н а р и с . 1.4.
й й я
л ав Г
1. Обеткъ ны
м еолди
е н и р П ол ж
цо и е л к К
я оыркт х кин г WorkBooks
бр аио ч
21 zyxwvutsr
M S Office
х
е Excel Excel.Application
о ц иел к К
и э елм оент уп р ав л е н и я, с в о й с т е н и п р ол ж д и ал о г
h
б ао чР
я книг а 1 ltem(1)
ц и о е кл К
я лисо т Sheets
В ы ед л н
й оек бъ Selection
в в я Excel, е лм Э е н т ы и zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQ о к л ец и й : пнаели , н ко п и , м еню , д и ал о г и , с войс т а е н и п р ол ж я Excel
в
ц и ое к л К
Лис т 1 Item (1)
р з ма е щ е н ы н ки г гуры фи
а бр аео ч
й книг
ис Р
К а к ж у е ск аз ан о Application, н еп о сревдтн Selection — тещку и р аб о ч и х кн и г , ок н и дигру е с в о й вс т в с т а щ ек ту ег о в ат ь з е с д ь р у кт р с Selection = Яч ей к а лен а о бласт ь яч е к р аб о ч и х кн и г п а рв с т е л д я к о тр ы м о щ с у в е лт с я п ар с в е т д л я т со б кн оп ки , ид алог и л о ж ен и ем , со бр ан О сн о в н ы л и сот в м ож е
м э л ем н от . Э лем н от т п р а с в е тд л я
, в ер ш и н о
и
. 1.4. Онатек б ъ
я м оелд
и и , е н а й ,
ы те к о б ъ ил с т
в Со й с т
т
е рбаоеч . Яче й ик , ди агрм м и др
ы .
ь MS ExcelzyxwvutsrqponmlkjihgfedcbaZYXWVU
й о б ъ е кн т о о в к лю ч аю щ и
й м ле о д и MS Excel явлсет я о б ъ ек т й а кт и е о б ъ ек т ы и к о л ек ц и , к а к й в ы е дл н ы й о б ъ ек т , WorkBooks — к о л ек ц и я ок т р ы т х к о л ек ц и и р аз ли ч н ы х э л ем н от в п у р а в л ен и я , ид алогвы х а п р и л о ж ен и я MS Excel. Объке т Selection и ме т свой в ы е лд н о г о о б ъ е ка т , п оэмт у н е т см ы сл а р а с м арт и у м ел о д и эо г т о о б ъ еа к т . Елс и в ы ел н д а яч ей к а , т о , сел и ид агр м а , т о Selection = Д и агр м а . К одг а вы ед , Selection = К о л ек ц и и со т л б ц о в и ср т о к . К о л ек ц и я т со б й сп и со к к ор ы т х р аб о ч и х кн и г , уостд п к я п о и н е кд с у . К ажыд й э л ем н т а к то й к о л ек ц и и й о б ъ ек т "рабоч я к н и га " . П ан ел и п у р а в л ен и я , м ен ю , и иг р уд е о б ъ ек ыт , п р енд аз н ач ен н ы е лд я п у р а в л е н и я п ри ы в со вюстеу щ и е к о л ек ц и и э лем н от в пу р ав л ен и я . м о б ъ ек т а "рабоч м к о л ек ц и и я в л ес т ь со б й о бы ч н ы
я к н и га " явлсет я к о л ек ц и я р аб о ч и я ел ь д о нт ы й р аб о ч и й ли ст , корты й ли с т (в ви д е атбли ц ы ) и л и бы т ь в ви д
х й е
аЧс т ь I. Ос но вы р азр б о т ик преин лойж MS Office и з внеш ни х пр о г ам м 22zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA
и д а гр м ы м о ж те
. В п ослнед
м ч а с лу
. Р ас м орти
м в ар и ан
т ли ст
е о н н и ч е го а в ви д б и ао ч Р
, кром
й лис т книг Excel Worksheet
рм а П е т
вСо й с т
а лис т
а
е ид а гр м ы ы (р и с
е а тб л и ц
, серождат ь н е . 1.5).zyxwvutsrqponmlkjihgfed
и
ы
б Ощ и
е с войс т
а
_1 — zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA с р н аи т ц ы ли с т а
R
PageSetup ч
о ц ел и к К
я дигарм ChartObjects
м
и аг р м Д м
а 1 ltem(1)
а рбаоеч
й книг
и
В неш ни
й оек б ъ Item (1)
в Со й с т
а
ы ет к о б ъ
ы и , е в не е
д и аг р м м о в хщ я д и
в Со й с т
т 1
в Со й с т
а обсалт : грани цы , с итл
е ч кя б с аО л т
ь яеч Range
еч Я й и к
. Кцоиелк е чя
е ч йЯ и к к
я к Cells
, вщоядх и в осбалт ь Range
ечЯйа,к
сртоак о с б л ет
з ал и в к е
ш т ри ф
, е
в Со й с т
,
а яечйик а ил : грани цы , ситл
со б л т ц
ц
с р то и к т ш ир ф н а си о д е р ж
. 1.5. Онатек б ъ
я м оелд
ь лис т
и , ,
н а си о д е р ж
з ал и в к
иР с
а рбаоеч
zyx
й книг
, и , , , е
и
О сн о в н о й о б ъ ек т р а б о ч ег о л и са т , с котры м п р и о дсх т я р а б ьо т Яч ей к а к а к о б ъ ек т сам а о аб е л д т м н о ж в ес т м св о й ст в и о бъ екотв в н е . И з н и х н аи боле е в аж н ы м и и ч аст о и с п о л ь з ем у ы м и ш р и фт , сит л ь е тк с а , гр ан и ц ы , з али в к а . обтЧ ы п ч о ил у т ь оу с д т ои д б х м о п о ч л иу т ь оу с д т п к сам о й яч ей к е , а з еат м и з м ен ят Яч ей к и о б ъ еи д н е н ы в област и яч е к Range. С вой свт а о б ласт о г м с о в п а юд т с о с в о й в с та м и с ам о й яч ей к и , н о ест ь и олти ч и я з а дн и и к о р ид н а т и р а з м ер о в о б л а ис т . Яч ей к и о б ъ еи д н е н со т л б ц ы . О бъ еид н ен и я ср т о к и ос тл б ц о в п а р в с т е лд я ю т со б у о стд п к к о тр ы м п р о и з в ои д с т я п о ч и сло в м у и н ек д с у ил и о б з н а ч ен и ю со т л б ц а . Н а рабоч е м ли ст е му о г т р а с п о л а ьг т с
, — яч ей к а . , ящодвх и х я в л ю ст я : ектс , п к ним , н е ь е е с в о й св т а . и яч е к в о м н о , со стящ и е в ы в рс то к и и й к о л ек ц и , п о к б ву е н о м у я в н еш н и е о бъ -
л ав Г
1. Обеткъ ны
м еолди
MS Office
23 zyxwvutsrq
, фр агм ен т ы о д км у е н о т в Word, з вкуи , ви еодз ап и с и и иг р уд е е к ыт : р и с ну к и о б ъ ек ыт , к о тры е о б ъ ие д н е н ы в к о л ек ц и ю в н еш н и х OLE- о бъ екотв . П р о ри совк а и ли , точ н е , в о сп р о и з в едн и е иэ т х о б ъ е к т в п о л н о сь т ю в ы п о л н яет с я в н еш н и м и п р о г ам ам и , з ареги срти ро в ан н ы м и в с и ем т е к а к OLE- с ер в ер ы . До сут п к та к и м о б ъ е ка т м п р о и з в о ид с т я ч ер з э л ем н т ы к о л ек ц и и OLEObjects, а уостд п к и х с в о й в с та м воз м ож е н от л ь к о ч ер з э т и OLEс ер в ы . П р и ло ж ен и е Excel аеоблд т бо ль ш и м н або р м с о б в те н ы х гр а фи ч ес к и х о б ъ е к тв , к отры е м ож н о р а з м е си т ь н а р аб о ч е м л и с ет . М ы м ож е м и сп о ль з о в ат ь р и с ну к и , н апд и с и , геом рти ч еск и е ф и р ы гу , ид агр м ы , к о т ры е обы ч н о о б ъ ие д н е н ы в к о л ек ц и . Н а п р и м ер , к о л ек ц и я ChartObjects с оерд ж и т н аб о р ид а гр м , котры е р асп о лагю ст я н а р або ч е м и л и н а от едл ь н о м л и с ет . К ажд я ид а гр м а , в сво ю оч ерьд , актж е с оерд ж и т н або р о б ъ ек от в и к о л ек ц и й . Р ас м ортен и е с в о й свт , со атв а и с о е др ж а н и я ди а р га м м — оельдтн а я е мт а эот й к н и г и zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHG (с.м гаву л 14).zyxwvutsrqponmlkjihgfedcbaZYXWVUT
Application
—•
Dialogs
Item —• (WdDialog FormulaFind)
а т ь л ез у Р т ShowzyxwvutsrqponmlkjihgfedcbaZYXW (True/ False) t
Find="TeKCT"
Application
—•
Dialogs
Item (WdDialogEdit Find)
Show
а т ь л уз е Р
т (чи с ло
)
zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPON
i
«—•
б)
Ри с
о б тЧ
. 1.6. Онетык б ъ
е м оедл
и диалог
в Найт
и в Excel (а ) и На йт
и и за м е ни т
ь в Word (б )
ы и б е д ьу т с я в ги б к о с ит , н у и версаль н ост и и бо ль ш и х в о з м о ж н о яс т х лд я п р о г ам и р о в ан и я о б ъ еко т в MS Office, рас м орти м е щ е н од у к о л ек ц и ю о б ъ ек отв , п юрвисут щ у ю к а к в Word, та к и в Excel. Э т о к о л ек ц и я ди ал о , к о тры е п о л ь з о в еал т ь обы ч н о ок т р ы в а е т н аж и т е м ог в (ди алогвы х окон ) от й и л и и н о й кн оп к и и л и в ы бо р м к о м ан д ы м ен ю . Он а п ри н алдеж и т о бъ кте у Application. В объекнт о й м ле о д и вс е и д а л о г и п р ас е в дт л н ы в ви д е э л е м ен от в к о л ек ц и и Dialogs, доуст п к к отры м о б е с п ч и в а се т я ч ер з ч и сло в й и н ед к с . П освртед м п а р м е то в о дм т е а Show э лем н т а к о л ек ц и и п рои с яо д х т п аер ч д а п а р м е то в в ди ало г и ег о в ы п о лн ен и е — так о в а м ое л д ь ид а ло г в лд я п р и л о ж ен и й Excel (р и с . 1.6, а) , я л д п р и ло ж ен и й Word мелод ь
zyx
аЧс т ь I. Ос но вы разб о т ик преин лойж MS Office и з внеш ни х пр о г ам м 24zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA
и д ало г а н ес к о л ь к о о л ти ч а с е т я . Олит ч е з а к л ю ч с а ет я в от м , чт о в ид ало Word п армте ы ю а п с д ре т я ч ер з св о й т а о б а ъ- к е т э л м е н т а к оле ц и (ри с . 1.6, zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA 6). У о б ъ ек т щ и е отл ь к сет ь свой свт
а Item() н ардя о м е у с в о й вс т о Find, оп релдяю щ е
В Excel объек З ес д ь р а с м о рти в ц л ое м (р и с
у с ит п и ч н ы м а и м ыо е д т
и с в о й в с та м . Н а п р и м ер е текс
т дл
г и
и и ам о д ет и ес т ь п р и с у , у ид алог а zyxwvutsrqponmlkjihgfe т Нй а и и зт и не м а ь я п ои ск а — д о з ап сук а ид а л о г .
т к о л ек ц и и Dialogs н еск о ль к о о л и т ч ас е т я о т ид ало г в Word. м от л ь к о о б ъ н ек т у ю м ле о д ь к о л ек ц и и ид а л о г в лд я Excel . 1.7).zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA
о ц ел и к К
о С з н да и
е нов г о доумк ент Item(xlDialogNew)
. 1.7. Онатек б ъ
True/ False
True/ False
к и оркыит е файл а Item(xIDialogFindFile)
True/ False
р ш т риф а теск т а Item(xlDialogFont)
True/ False
о Пи с к теск т а Item(xlDialogFormulaFind)
True/ False
Выб о
Ри с
а
в
ел а д н и У е фай л а Item(xlDialogFileDelete)
оП и с
о б Д ав л е н и
я ди ало г Dialogs
е яечк , сотлб цо в , срто Item(xlDialoglnsert)
я м оедл
ь коцлеик
к
и ди ало г
True/ False
в Excel
л ав Г
Н а э от к о л ек ц и
1. Обеткъ ны
м еолди
м р и сну к е п ар с в е т д л н и — п о к аз н са мт и и п о л ь з о в а етл я м и ас н т у а в л и в а ю т з н ач ен и True и л и False, в з ав и с м о ст
25zyxwvuts
MS Office
ы ид а л о ги . О бы ч н я э л ем н от
а отл ь к о м ал я ч аст ь в се о з м о ж н ы , н аи боле е ч ас т о и с п о л ь з ем у ы о в ид а л о г п ера юд с т я з н ач ен и я в пу р а в л е н и я , а воз вращ аю ст и о т рлзеаьт у а едй с в т и я п о л ь з о в еа л т я
х ид а л о г е п р о г ам и , к о тр ы я з н ач ен и .
в е я
М ож н о п во едс т и и о гт : п р и ло ж ен и я и з с оав т а MS Office, н ап р и м е р Word и Excel, п расевдтляю т со б й в з а и м о с в яз а н н ы е объект ы и к о л ек ц и и о б ъ е к от в . К ажы д й о б ъ ек т и л и к о л ек ц и я в к л ю ч ае т в с е б я м н о ж е вс т о п а р м ето в и и г ру д х о б ъ е к тв , к о л ек ц и й . В сво ю оч ерьд , сам и о б ъ ек т ы и к о л ек ц и и и м ею т о хз я и н а (Parent), в со ат в к о тр г о о н и тя о д в х . Н а верш и н е о б ъ ек т н о й м ел о д и н с оя т д а х я о б ъ ек т ы Word.Application лд я ектсо в г о п р о ц ес о р а Word и Excel.Application — лд я атбли ч н о г о п р ц ес о р а Excel. Чер з эт и объ е к ыт , в о с н о в н о м , и ощсу евстля я с в яз ь иэ т х п р и л о ж е н и й с в н еш н и м и п р о г ам ам и . К а к вс е э т о рабоет , в ы з ун ате е и з сю улдещ и х ла г в к н и г и .
ВЛ А Г
Ос о б е н с т п р о г а м м и р о ва н
А 2
и вст рое гн
о якзы а я M S Office zyxwvutsrqponmlkjihgfedc
т яз ы к п р о г ам и р о в ан и я В соа т в п р и л о ж ен и й MS Word и MS Excel иод вх Visual Basic. О н п о яв и лс я н е с р аз у — в п ревы х в ер с и я х MS Office п р и м е н я л с я яз ы к н ап и сан и я м ак р о с в , котры й п о с е тп н н о р аз в и лс я в п о л н о ц ен н ы й яз ы к , п о з в о ляю щ и й р а з б ыа т в а т ь в с р ед е MS Office одв ль н о сло ж н ы е п р и ло ж ен и я . оЧтб ы р аз р аб ыт в ат ь п р и л о ж ен и я Delphi, и сп о ль з юу щ и е кон р от л е ы а в от м аи з а ц и , н еоибдх м о з н ат ь н ек о тр ы е о с б ен н о с т и в ср т о ен н о г о я з ы к а MS Office. Д л я н ач л а м ож н о о з н ак о м и ьт с я с н и м и , и сп оль з у я сп р ав о ч н у ю с и ем т у , д г е о н одсатч н о о рх ш о о п и са н (р и с . 2.1). С п равк у п о Visual Basic м ож н о усатн о в и ьт , и сп оль з у я с а тн у о в ч н ы й ди с к MS Office.
О нд а к о л д я о п е р аи т в н о г о с о з ад н и я и к л а од т и н ек о тр й ч аст и п р о г ам ы сп рав к и м ож е т бы т ь н о е д ас т ч н о и л и в н е й н е н а й с е тд я п ящо д х е г о п ри м ер а . К а к п осути ь в э о т м ч е а у лс ? Дл я р еш ен и я а кт и х воп рос в в Word и Excel п смруедот н р еж и м а в о т м аи ч е с к о й з ап и с и е дй с в т и й п о л ь з о в а е лт я в фо р м а т е в ср т о е н н о г о яз ы к а . З ап и сы в а я а тк и м сп о с бо м ч ас т и е кт с а п ро гр а м ы , ан али з и ру я и и з м ен я я и х , м ы щсу есвт н н о со к р ащ ае м в р ем я н а р а з б ок т у п р и л о ж ен и й . Р ас м орти м , к а к э т о деластя , н а п рост м п р и м ер : в о д км у е н т е Word созиад м аб л ит ц у и з ап о лн и м е кт с о м н ес к о л ь к о яч е к . и в ре С с > Д л я н ач л а в к лю ч и м р еж и м з ап и с и м ак р о с в , в ы п о лн и в к о м ан д у zyxwvutsrqponmlk о рМ к а с > т а чН а ь с и п а з ь лга в н о г о м ен ю (р и с . 2.2, zyxwvutsrqponmlkjihgfedcbaZYXWVUTSR а ) и л и н аж в кн оп к у За т ас и п ь о мр к а с н а п ан ел и Visual Basic (р и с . 2.2, )б . О к тр о с е я ид ало г в е окн о , в котр л и т ь о д км у е н т , лд я к о тр г о о н е д уб з ове м н а ш м ак р о с со рМ к а 1 и п р и п су т и т п о л ь з о в а е лт и , и сп оль з у о бы ч н о ле а ю д и н с мр т у е н о т в . П о сл е о т г о к а к а тб л и ц ек , вы клю чи м р еж и м з ап и с и м ак р о с Visual Basic с п ом щ ь ю пн у кт а и в ре С лг а в н о г о м ен ю и л и к н о п к и н а п ан ел
м нжу о в с ет и и м я м ак р о са , оп ред т п о д ус т е н , и з атд ь ег о о п и с а н и е . Н а м к р аб о т е с о д км у е н о т м — к а к э т о я к о м ан д ы м ен ю и кн оп к и п а н ел й а с о з а дн а и з ап о л н ен о н ес к о л ь к о яч е а (ри с . 2.2, в) и октрое м окн о р а е дк о т а с > о рМк а с > о т к а Рде р Visual Basic и Visual Basic.
28
аЧс т ь
I. Ос но вы [ С п р а в о чн а
разб о т ик я сист е м а
ин а о е р ж д С
преин лойж
: Microsoft Word
е к а У з те л
В ы б ер и т в лк а д у
ь I По и с
е разде , нпарим е
л и нм ажи т р "Предм неыт
р з ам Р к е т
у "По ка з т"ь
Р иц б л а Т
ы и гинрца
е геисчк фра
х р аз н ы м
и до укм енамт
е с о с та в н ы
^ саНротйк
в (с ли ян е
е с вед ни
)
я
а no Visual Basic е сшоалг ени
е и оргнаиеч
я гаринтя
П о ка з т
. 2.1. Досут
ь I
.ь таечП .
. j
е п о Visual Basic дл
п к с првак
м тО е н
а
я Word
т Microsoft Wold
ь До ку м е н а В вс а к т
и и м
м WordPerfect
Р Л и ц е нз о
д р вП а к
и п о зль веатлям
а Microsoft Word
Ц п Ср ва к
иВ
в
и и Инетр н еот
х д о у мк е н о т
^ Позльвеатя
W Microsoft Woid - Со з д ат
ю
ь
р о п Д л н иеы ь т
Ри с
е др уг
и е днаы
а с э лретко н ы м
j Ј т а е П ч
х ое т к б ъ
и до укм енамт е и с позль вани
Р * инадозС
о выб ери т
.
ы
а с бшоьл им
^ боат Р
, либ
й уакзет"ль
в и с онизад
а о рФ м а
*• Times New Roman
т '• ивре С
с ци бя а Х
а нкО
о ?
* 10 v^npaepriHcaHHe^; Яз ы
F7
к
^f 100%
1С .а икст а .
' i f ?| !
.
| .т а ре .феро те А
.
омзате йн.Д .
.
и н е л с в И р ап
я
т и н д е ъб О
ь ис прваелни.я
о н в и а тс У
ь щ.ауз ти .
; .
С З ^о н в е р ыт м н акле й ки ^
.
•ц
• М р ак о с ы Шн о л б а
ы и ни.орйкстда
саЗрот;йк . м.ыра теП .
.
.
HН а ч а т Q о т к аде Р
.
AK+F8
, i. ь .сипь аз .
.
р Visual Basic М АЧ
1
а)
^ Ос а т н о в и т
ь з ап и с ь
)
в) Ри с
. 2.2. Влюенкчи
е (а , б ) и вылюекчни
zyx
zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONM
ы
т р и с унок
^ Со вм ес нто
п р о г ам м
к j
е кн о п к
а с ртани ц
р Им п о р Р б о ат Р
MS Office и з внеш ни х
е (б ) рим еж
а з па и с
и м р о к са
а
л ав Г
2. Ос о б ен о с т и
вс т р о е н го
В окн е р ае д к о т е тк с т н а в срт о е н н о сы в аю т едй с в т и
оркаМ ' о р к а М
пр о г ам м и р о вани я
29 zyxwvutsr
MS Office
а Visual Basic м ы виу д м п р и м ер н о а тк о й п р о фам н ы й м яз ы к е (р и с . 2.3), о п ер аот ы к о тр г о п о в т р яю т и о п и я п о л ь з о в а е тл я .zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHG
Sub ! соркаМ ( 1
яазкы
) с 1 йорка с асип з
с н 02.01.04 Кокянр
в Вил са
й и в е а л о к и Н
ч
ActiveDocument. Tables. Add Range: "Selection. Range, NumRoi»3:=2, NumColumna : =4 Selection.PageSetui?. TopHar gin - CentimetersToPoints(1.75) Selection.Tables(1) .Rows.SetLeftIndent Leftlndenc:«55.05, RulerScyle:- wdAdju3tNone Act iveUIindow. ActivePane.LargeScroll ToRight :~1 ActiveWindow.ActivePane.HorizontalPercentScrolled ќ 0 Selection. TypeText Text:*"3P n/n" Selection.HoveRighc Unit: ««dCell " Selection. TypeText Text: = "Траво Selection.HoveRighc Unit:=wdCell Selection.TypeText Text:="Цане " Selection.HoveRighc Unit: "udCell Selection.TypeText Text:- "Ковтсечил " Selection. HoveRighc Unit: - wdCell Selection.TypeText Text:="l" End SubzyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA
Ри с
О ч е в и нд о о б л е чг а И з с и н ат к с и с н о - о р и е н ит р о в а н н ы
. 2.3. zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA Теск т зпаис ног о м рокса а в онк е роетрдка а Visual Basic
, чт о воз м ож н ост т п о н и м ан и а о п е р ао т
ь а в о т м аи ч е с к о е и со к р ащ ае в в и нд о м я з ы к о м
й з ап и с т в р ем я с о з ад н и , чт о м ы и м е
и м ак р о с я п р и л о ж ен и м ел д о с о б ъ е ка м т
в щс у е с в т н н о й в MS Office. и и о б ъ ек т -
.
К э о тм у м ож н о добав и ьт , чт о лд я п р и ло ж ен и я Word в срто ен н ы й яз ы к Visual Basic и м е т он д у о с б е н н о с ьт . О н са м яв л ест я о б ъ е к от м , и ег о п роц уед ы и фн у к ц и и допсутн ы и з в н еш н и х п р о фам м а н а л о ги ч н о о мт у , к а к э т о р еа л и з о в ан о лд я о б ъ е к т а Application. Дл я п оусдт а к Visual Basic и сп оль зсету я и ед н и т ф к а о т р Word.Basic. j Обе с пе ч ни
е дос т уп
а к вс т рое н м
у зкяы
у Visual Basic пр и л оеж ни
uses ComObj; var В:variant ; procedure TForml.ButtonlClick(Sender: TObject); begin B:=CreateOleObject('Word.Basic'); messagebox(handle,'Word.Basic - ' нещупаз ,'В! еинамин ',О) B.FileQuit; : В =UnAssigned ; end;
В дан н о м п р и м ер бе з к а о г - л и б э ит м н е и с ч ер п ы в аю стя)
е м ы п ро ст о п р а к ит ч е с к о г
о з а фжу а е
м о б ъ ек о п р и м ен ен и
.
я Word
;
т Word.Basic и в ы фжу а е я (к о н еч н о , ег о в о з м о ж н о ст
м ег о и
zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONM аЧс т ь I. Ос но вы р аз р аб о т и к п р е ин лой ж MS Office и з вне ш ни х п р о гр ам м zyx
J O
О бъ ке т Word.Basic м о ж н о а к жт е и сп о ль з о в ат ь л д я с о з адн и я о д мк у е н о т в и з п р и л о ж ен и й , н а п и с а н н ы х н а D elphi, н о в с е ж е лчшу е и сп о ль з о в ат ь о б ъ ек т м с домк уен от м к а к с о бъ екотм , и одп о лн и етль Application, т . к . м ы рабоет н о е з в ен о в ц еп и "п ри ло ж ен и е- о бъ ек т "Домкуен т Word"" м оже т о к аз ьт с я ли ш н и м и сат ь п о м е йх . В к о н еч н о м и о т ге , вы бо р пт у и р е ш е н и я п о с атв л ен н о й з а чд и — елд о сам о г о п р о г а м и са т .
я воз й в аж н о й о с б е н н о сь т ю в ср т о е н н о г о яз ы к а MS Office яв л ест м о ж н о ст ь и сп о ль з о в ан и я в м акроса х в н еш н и х п р о ц у ед р и фну к ц и й и з ид н а м и ч ес к и х б и б л и оет к (D LL, Dynamic Link Library — би бли оетк а ди н ам и ч е ск о й к о м п о н о в к и ) . Дл я эотг о о д ас т ч н о о п и сат ь с п ец и фи к а ц и ю п р о ц у де ы и л и нф у к ц и и с указ н и е м с ы лк и н а ид н ам и ч еск у ю б и л и ое к т у . И сп о ль з о в ан и е в н еш н и х п р о ц у ед р и фну к ц и й , н ап и сан н ы х в то м ч и сл е и в срде е Delphi, п о з в о ляе т и н е тг р и р о в а т ь п о л ь з о в еа л т ь с к и е п р и л о ж ен и я в домкуен т ы Word и Excel и созавдт ь сло ж н ы е о мд к уе н т ы и очте ы н а к о м п лек сн о й ос н ове . Э т а в о з м о ж н о ст ь в аж н а , н ап р и м ер , есл и очте ы с о з а дю с т я с п ом щ ь ю и Excel, Word и Visual Basic н е рабоют т и л и работ ба з ад н н ы х , с к отры м ю т н е к о р е к нт о , и л и есл и в ы хиот е и сп о ль з о в ат ь э к с лю з и вн ы е в о з м о ж н о ст и с р е д ы п р о г ам и р о в ан и я D elphi, и л и есл и п ро ст о с е тр б у я в ы з ы в ат ь нфу к ц и и API Windows и л и любог о п р и л о ж ен и я . Н а р и с . 2.4 п арвстелдн а р у кт р с а о б ъ яв л ен и я (о п и с а н и я ) п роц уед р и фну к ц и й , и м п оиртем ыу х и з ид н а м и ч е с к и х б и л и о е кт . П орд бн о э о т т м е р аи т л е д уб т р а с м ор те н в zyxw ав ег л 18. ог Дру
З е сд
ь м ож н о од б а в и т ь от л ь к о он д о в аж н о е з а м еч а н и п о в ад н н ы х , и сп оль зем уы х в к а ч вес т е п ер м ен н ы Ти п ы ад н н ы х , и сп оль земуы х в о в срто ен н о м яз ы к в ан и я D elphi, одлж н ы бы т ь и е дн и т ч н ы ру д г уг р д з ун ат ь и з справк и п о Visual Basic и D elphi. П о сл о с б ен о с т п ри н ц и п о
е о тг
о к а к в общ и х а ч р ет и в ср т о е н н о г о яз ы к а в с о з ад н и я к о н р то л ер о
В Сп р а в о н ч и
х р а с м о ртен
ы м ле о д , м ож н в а в о т м аи з а ц и
о п ер й т
е о со в м есит м о ст и ти х п р о ц у ед р и фну к ц и й е и в сред е п р о г ам и р о . П орд бн о ст и м ож н
. о
и MS Word, MS Excel и и к р а с м о рт е н и ю о бщ и х .
к Visual Basic
л е д з ар
ы
и ц к у р с нт И
я Declare
с т е я мн и е р П
я н а д ав. ЙЧ. М Ш Я Д
о л ыс
к н а ши вен
zyxwvutsrqponmlkjihgfedcbaZYXWVUTS Ш в Ш пш Ш т А а № Ј> № . ко ц п о н о ш - Щ
е П.Р Й У Ш
(DLL).
С и н т а кс и
Щ
с 1
[ Public I Private] De clare Sub и м я С и н т а кс и
(Alias "пс еовдни м "]
Lib "и м Б ия б пи о т еик"
[{ [с пи с роАгмук ент о в] )]
с 2
[ Public I Private] De clare Function и м я )] [As т и п] Ри с
. 2.4. сиСкант
с о пи с наи
Lib "и м Б ия б пи о т еик"
[ Alias "пс еовдни м "]
Щ с п и с р о А гм ук е н т о в ] ;Т
я внеш ни
х п р о ц е уд
р и фуцинк
й в м рокас
х Word и Excel
ВЛ А Г
А 3
О иб щ с о аз д н и а вт о м а т и з а ц
е ппи цнр
ы я ктон рл е ро
в и M S Office zyxwvutsrqponmlkjihgfedcbaZYXWV
нО д о й и з з а м л е ь ч нт ы х о с б ен о е с т й м н о г з а ч нд ы х о п ер а ц и о н ы х си е т м я в л е ст я п ео р д ж к а в з а и м о е й д вс т и я и о б м ен а и н фо р м а ц и е й м ж де у раз ли ч ным и п р о г ам ам и . О п ер ац и о н н а я си семт а (О С ) Windows — н е и ск лю ч ен и е и з э о тг о п р ав и л а и п р о е ад с в т л я т м н о ж е вс т о м а не х и з м о в а кт о й п о е др ж к и . Р аб о т а О С Windows псмруеадит в е т п а е чр д у и о бра к т у с о б щ ен и й ка к ж мд е у О С и п р и л о ж ен и ем , ат к и жмде у п р и л о ж ен и ям и , а акжт е и сп о ль з о в ан и е ди н ам и ч еск и х б и л и о е кт . Эо т т м а н ех и з м ыб л и с п о л ь з о в а н ещ е в п ер я н а а од м т е х р а з р а б о кт и п р и л о ж ен и й лд я вы х в е р с и я х Windows и ортаз и лс эот й О С . О сн о в й п р о г ам и р о в ан и я в п ре в ы х в ер с и я х Windows аслт о п ро гр а м и р о в а н и е о б ъ еко тв , п омт у чт о лю ба я п р о г ам а э о т й О С п р ес а д т в л я л а со б й о б ъ ек т . С р аз в и т е м о п ер ац и о н н о й с и е мт ы р аз в и в али с ь и а м хе н изм ы в з а и м о е дй с в т и я п р о г ам . Р аз ви т е ш л о о т о б м ен а с о б щ ен и ям и , и сп о ль з о в ан и я D LL (Dynamic Link Library, ид н а м и ч ес к и п ок д л ю ч а ем ы е б и л и о е тк и п р о ц у ед р и фн у к ц и й ) и манех и з м а D D E (Dynamic Data Exchange, ид н ам и ч ес к и й о бм е н ад н н ы м и ) к со в р ем н н ы м н е тх о л г и я м , о с н о в а н н ы м н а OLE (Object Linking and Embedding, св яз ы в ан и е и в н ер д н и е о б ъ ек от в ) , COM (Component Object Model, к о м п о н ен т а я м ое л д ь о б ъ е к от в ) , D COM (Distributed Component Object Model, расп редл н н а я к о м п о н е н нт а я м ое л д ь о б ъ е к от в ) . Эот т п о ре х д бы л о б с н о в а н емт , чт о алст о н ео д с а т ч н ы м и сп о ль з о в ан и е о тл ь к о нф у к ц и й и п р о ц уед , п роеадсвтлям ы х в н еш н и м и п р о г ам ам и и б и б л и о е тк а м и . Н а п ервы й п ла н вы ш л а н е о б и дх м о с т ь п у р а в л ен и я ц ел ы м и о б ъ е к атм и , котры е п ра с в е т д л я ю т со б й п р и л о ж ен и я и л и о д км у е н т ы и р а с п о л ж ен ы к а к в он д о м ар д е с н о м п р о с т а н св т е пу р ав л яю щ е й п р о г ам ы , ат к и вн е эотг о п р о с т а н вс т а и л и аж д е н а дог ру м ком п ь ю ер т е ло к аль н о й с ие т . Т ак я п о с ат н о в к а з ач д и п о в л ек а з а со б й р ев о лю ц и он н ы е и з м ен ен и я к а к в р уктр с е О С Windows, ат к и в п рогам х , п р не д а з н а ч е н ы х л д я р а з р а б ок т и п р и л о ж ен и й . П р и ло ж ен и я MS Office п ред а вс т л я ю т со б й о б ъ екыт - с ер в ы , к отры е м уог т п у р а в л ья т с я в н еш н и м и п р о г ам ам и , и з едс ь н е п о с нл е д ю ю рол ь и р а юг т м а н ех и з м ы С О М и OLE.
32
аЧс т ь
М ле о д
ь СО
мы
х о б ъ ек т
М п р о ае дсв т л я в в и СО е и е я ка
О ба м ъ к е т о ф р м л ен н ы н ы в фо р м а т в ы п о л н ь ят с в ви д е с а м о с те я л ь н о г е лд н н а я м о е лд яз ы к е , п еродж и ваю щ е
Р аз в и т е н е х т о л ги Automation п о ль з о в ат ь е р т п оа ет р м в ы п о л н ен и я .инме М о д те з ар н е е н ел ь з П р е и м щ у ев с т о кбо т и о т объекат С р ед
I. Ос но вы
разб о т ик
преин лойж
т в о з м о ж н о ст х п р и л о ж ен и ях я п р и л о ж ен и я- с ер в ы
раз ли ч н ы М яв ляю ст з ареги срти ро в ан н ы
MS Office и з
ь с о з а дн и , перждои ваю щ и
я м н о г к р ан т
- ил
и СО
М п р о л жд а е я OLE). Е и С О М н е толь к , и обесп ч и вае т с в яз п р и л о ж ен и я . Т ак о й сп о с ы п р и акто м сп о с б е я п рове и т ь п р ав и ль н о ст м а тк о г о о дм т е а я в л се т , корты й нжу о п р о г а м и р о в аь т т вы з ов
.
, сп ец и аль н ы м и у м го т бы т ы му о г т ь ж з с а т р гу я и о п р и л о ж ен и я , та к и к о м п ь ю ерт е сте и (расп ре бы т ь н ап и сан ы н а лю бо м
т е е п омд н ож есвт о — тнех ол иг я OLE е олит ч е в том , ч т о о н а п оз воляе т ис о я з ы к а м - к о м п и л я от р а м , н о и и н ь с в ы з ы в а ем ы м и м ао де т и н а сиад т и б вы з ов а н а з ы в асе т я zyxwvutsrqponmlkjihgfe ин м з д п о в а з- ы в с я вы з ов а в ы п о л н яю с т я м ел д н н е , п ри ч е м ь н ап и сан и я о б ъ еко т в и и х моедвт . я н ез а в и с м о с т ь в ы бо р а с р ед ы р аз .
(авотм аи з ац и в о з м о ж н о ст
а Delphi п ердож и вае
zyx
прогам м
о и сп о ль зе у т и н етр ф й с м о бр аз о ь п а р в с т е лд
х эо т
е в си семт . О н и DLL- леймуод . Э т и серв к в аресдн о м п р о с т а н вс т е в ы з ы в а ю щ ег о п р о ц ес а , и л и н а дог ру м ы ь С О М — D COM). О н и одлж н м и н е рт ф й с С О М . ЕХ
внеш ни х
ы о м д те
в с ер в о
в а в о т м аи з а ц и
.
( zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA р и П м ни а е ч е ^ еС р в с ь л ят д ан о
авт о м ат и зац и я в неш не м с а л чу
г р ам м и с о т м
Дл
пресдваялт
т с об й п р о г ма м у й — конт р о ле р о м а вт о м а т и з а ц и . я Word ил и Excel, а корнтле
й п р о г ма м о е с вяе л т
, октра
я ем о ж е Ср в о
р р аз б ы т в с ае
т упрва
м в я про
я эо г т н а о б ъ ек т м и ат з ц и п ер м н у м ен т п р о г ам ы
о и сп о ль зю у с т ы а в от м аит з а ц и и п с е ра т д ю ти п
! Зкзурга
а Internet Explorer
я п ер м ен н ы . Н я к о м ан д а Variant. Р ас м орти :
а эатп а в ви д
е ит п а Variant, к отры е в ы п о л н ен и я п р о г ам е с рт о к и , п рведа и елть н м в качвест е п р и м ер
е с е о р жд а ы с ер в о з ап и сан н о а ю с ул е д щ и
т с ы лк у а вот й фр а г
Var I E :va r ia n t ; procedure TM ainF orm.ButtonlClick(Sender: TObject); begin zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA IE:=CreateOleObject('InternetExplorer.Application'); IE.Visible:=true;
// Нужн
IE.Visible:=false; // и проверить
о выбрат
ь оди , ка
н и з оператор к эт
о работае
в т
и й в
Uses ComObj;
end;
-
.
-
л ав Г
3. Общ и е
пр и нц пы
с оазнидя
конт р о лер о в
авт о м ат и зац и
33 zyxwvu
MS Office
П ер м ен н а я IE ти п а Variant н е и м е т н и ка и х св о й ст в и м оетдв , н о , те м н е м ен е , п р о г ам а о к т м п и л р ес т у я и е д уб т в ы п о л н яь т с . Е сл и м ы в м ес т о м лю бо е ог р у д е с в о й свт о , котр е н е п е ро д ж и в а е т с в о й вс т а Visible н ап и ш е IE, т о к о м п и л яот р ош и бк и н е в ы а с тд , а н а иадст и в ы п о л н ен и я п р о и з о й ед т ош и бк а . Э т о о с бен н о ст и п о з нд ег о с в яз ы в а н и я — свой свт а и модет ы п рове р яю с т я в сам о м п р и л о ж ен и - с ер в е н а и а дс т и в ы п о л н ен и я . М о ж н о од б а в и ьт , чт о вес ь эот т манех и з м р а б ое т т з а сче т COM API. В дан н о й кн и г е не т см ы сл а п о рд б н о р а с м ра т и в а т ь вы з ов ы г е о нф у к ц и й и п р о ц у ед . Н аш а за ачд а — н чаиу ьтс я с о з а вд т ь и и сп о ль з о в ат ь к о н р то л е р ы а в о т м аи з а ц и и (чт о э т о ат к о е , р ас к аз н о т чу ь п о з ж е ) лд я п ри лож ен и й MS Office Word и Excel, к о тр ы е н аи бо ле е ч аст о и сп о ль зю у с т я к а к п р и л о ж ен и я дл я п оль з овелат й и к а к с ер в ы л д я с о з а дн и я п р и л о ж ен и й . И сп оль з у я к о н р то л е ы а в о т м аи з ац и , в п р и ло ж ен и ях , соз адн ы х в срде е Delphi, м ож н о ат к ж е п р о ст , к а к п р и обы ч н о й р аб о т е с Word и Excel, соз авд т ь о д мк у е н т ы с о в мс е и воз м ож ным и э л е м н ат м и . Т абли ц ы , н апд и си , ект с , ид агр м ы и иг р д у е ком п о н ен т ы п о л н о ц ен н ы х о д мк у е н о т в п о я в ст я в тако м в и ед , к а к т д уб о он и со з ад н ы п о л ь з о в еа л т м . Дале е в кн и г е в с е п р и м ер ы у д уб т о п и сы в ат ь в осн ов н о м толь к о работ у с Word и Excel и п о з нд е е с в яз ы в ан и е . П ер й ед н ог "умте
м н е п о с р е вд т н н о к к о н р то л ер а м а в о т м аи з а ц и . И з ж у е с к а з а н о п о н я тн о , чт о zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA р е л о к тн р аатизцвмо — э т о п рогам , к о тра я " п у равлят ь п р и л о ж ен и ям и MS Office и п р о ц ес о м с о з ад н и я од к м у е н о т в в с р ед е Word и Excel. Дл я огт о очбт ы в с е э т о р а б о лт о к о р е к нт о , п р о гр а м а - к о н р т о л е р од л ж н а в ы п о лн и т ь сю уледщ и е фну к ц и : 1. П р о в ер и ьт 2. Е сл
, з ап щу ен и п р и л о ж ен и
е н е з ап щу ен о
3. В ы п о лн и т 4. З ак р ы т 5. О ч и ст
е (Word, Excel) и л
о п р и л о ж ен и
ь ря ь докм уен ь п а м ья т
, з ап ситу
д н ио е д б х м ы
ь е го
х м а н и п л яуц и т и п р и ло ж ен и е
и н е.т
.
й с п р и ло ж ен и ем
, одкмуен отм
.
.
.
К а к ж у е ск аз ан о , дуост п к домкуен ат м и п р и ло ж ен и я м м ож н о о щ с у е св т л я ь ч ер з о б ъ екы т , сотящ и е н а в ер ш и н е о б ъ е кн т о й м ле о д и п р и л о ж ен и й MS Office. Чер з н и х м ы п ч ао е л у м у о тс д п к в н р ет у н е й р уктр с е о д км у е н о т в и п р и ло ж ен и й , п оэмт у п р и с о з адн и и к о н р то л е р о в а в о т м аи з а ц и и м ы м ож е м и сп о ль з о в ат ь отл ь к о и х . В табл . 3.1 и 3.2 п ри в едн ы э т и о б ъ ек т ы и ад н а и х к р ат я а рх к е т и с т к а .zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDC аТ б л и ц
р а К т ак я ха р тке рис т ик а ы zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA
а е и дт к И н о р ф
Word.Application Word.Application.8 (9,10)
2 Зак
MS Word zyxwvuts
3.1. Обеткъ ы
. 723
С по м о щ ь до с у т ни же
ю эи т п к т ке о б ъ е Word
х иоитарк дентф у Application и зап ус ект
в о с щ у с е в я лт
я я приол
-
zyx
аЧс т ь I. Ос но вы р азр б о т ик преин лойж MS Office и з внеш ни х пр о г ам м 34zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA
аТ б л и ц а е и дт к И н о р ф
ы zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA р аКт к я ах р тк е рис т ик а
Word.Document Word.Document.8 (9,10) Word.Template.8
С по м о щ ь ю эи т х оитарк дентф в о с щ у с е в я лт до с у т п к т ке о б ъ у Document, запус ект ин е Word, ес л и о н о н е лбы о з ап ущ е н о и д о э отг о е н и п р ол ж ы ов н й д о ум к е н т . с л Е лбы о зап ущ ено , т о ныов й до укм ен т с о зсдает
ы
я я е п р и ло ж , с озедат
3.2. Обеткъ ы
аТ б л и ц а е и дт к И н о р ф
zyxwv
3. 1 (оокнчаи е)
я е Word я в не м
MS Excel
р аКт к
я ах р тк е рис т ик
а
Excel.Application Excel.Application.8 (9,10)
С по м о щ ь с я досут е н и ло ж
ю и э т х о р т и а к ед н ф т в о с щ у ет я в л с п к от ке бъ у Application и запус ект е Excel
Excel.Addln
С по м о щ ь е н и п р ол ж Add- In
ю э отг о о р ит а к де н ф т е Excel и с о зсдает
я при
-
а з ап ус е к т я с пныециьла
я й ке объ
Excel.Chart Excel.Chart.8
С по м о щ ь е н и п р ол ж ща д е р ж а лд я ди агр м м
ю и э т х о ир т а к д е н ф т е Excel и с озедат я д и аг р м м у и бр а и о ч ы
Excel. Sheet Excel.Sheet.8
С по м о щ ь е н и п р ол ж ща д е р ж а
ю и э т х о ир т а к д е н ф т в з ап ус е к т я е Excel и с осзедат я б ра о ч я нк и г а , с о я рб а ои ч й лис т zyxwvutsrqponmlkjihgfedcbaZYXW
М ы п о дш л Delphi. В сю уледщ е
и к в о п ро са й лва г
м с о з ад н и е м ы р а с м ор ти
я к о н рто л ер о
я бр а о ч
в а в от м аи з а ц и м и н м р с ту е н т
ы с р ед
в з ап ус е к т я нк и г а й ли с т с н ад ы м
т я , с о
и в с р де ы Delphi.
и
е
ВЛ А Г
А 4
б зОо
р им утсроен
в едрс
р а з б от к лд
ы й Delphi
и пиен жлор ы с MS Office zyxwvutsrqponmlkjihgfedcbaZYXWVUTS
я т о ба р
С р ед а р а з р а б ок т и п р и л о ж ен и в о з м о ж н о се т й п о с о з адн и ю в н еш н и м и п р о г ам ам и , атк и м и гр и д у м и , и сп оль зю у щ и м и ран н и е в ер с и и Delphi перждои вал п оя т й в ер с и и Delphi, в о з м о ж н о ст н ен от в лд я р а б о т ы с п р и л о ж ен и ям П ал и рт ы к о м п о н е н от в , раз рабочти р о с о з а дв т ь л д я св о и х п р и л о ж ен и с п о ч тв й п р о г ам о й и Servers сеоржд и т к о м п о н ен т м к уе н а м т и и р аб о ч и м и к н и га м р и с . 4.1 п о к аз н в н еш н и й ви
й Delphi п роаедсвтля т п р о г а м и ас т м м ас у п р и л о ж ен и й , сп ос бн ы х в з а и м о е й д св т о а ь с и к а к Word, Excel, Internet Explorer, Outlook м а н ех и з м ы Windows дл я обм ен а да н н ы м и . Даж е и н е х т о л иг ю D D E и OLE. Н ач и н а я с и бы л и од п о л н е н ы ц ел ы м н або р м ком п о и MS Office. Благорд я с рт а н и ц е zyxwvutsrqponm Servers к п ч и о лу л в о з м о ж н о ст ь о д са т ч н о бы ст й чо т е ы в фо р м а т е Word, Excel, работ ь и г р у мд и п р и л о ж ен и ям и MS Office. С рт а н и ц а ы дл я работ ы с п р и л о ж ен и ям и Word, Excel, до и и к о м п о н ен т ы л д я р аб о т ы с е тк с о м . Н а д срт а н и ц ы Servers. zyxwvutsrqponmlkjihgfedcbaZYXWVUTS
; Win 3.1 1 Samote*! Ac t ive Seivat | KCwnoonents ] mwes I kobo M l TReadef32J МаоКь
К
zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPO
k fyv
Ри с
. 4.1. Срнаитц
п У о м ян е м к о м п о н ен т о м д к уе н а м т и в о б ла ю д щ и й в мс е чт о н а сам о м елд (ри с . 4.2). В ваш е у н е е п о я в ст я вс Е сл н ен
а Servers — ком по нет
ы дл я рбаот
ы с пенимяр олж
и MS Office
, п рост
о н ио е д б х м ы й в п р и л о ж ен и ях , рабоют щ и х с о WebBrowser — з ам еч алть н ы й к о м п о н ен т , и в о з м о ж н о с я мт и п р и л о ж ен и я Internet Explorer, п омт у е э т о и ест ь Internet Explorer в ви д е в н еш н ег о к о м п о н ен т а м п р и л о ж ен и и ге о м о ж н о р а з м е ис т ь в фо р м е , п осл е ч ег о е к а ч ев с т а о б з р е в ла т я И н е рт н ае т .
И н ет р н е т
и в а м н ж ун о бо ль ш е ги б к о с т т OleContainer с о сртан и ц
. Э т
и и н у и в е р с а л ь н о с ит ы System (р и с
, и сп оль зй у т . 4.3). Р асп о л ж и
в эо т
е ком п о т ком п о
-
аЧс т ь
36
не н фу к ц и ния
I. Ос но вы
т в фо р м е с в о ег и к а к п р и л о ж ен и , з ар еги срти р о в ан н о г
разб о т ик
о п р и л о ж ен и я
преин лой ж
MS Office и з
Internet zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA ft N ) & ;
. 4.2. Ком по не
е Internet Плаирт
т WebBrowser н а срнатиц
Standaidl Additional Г Win32 System | DataAccessl Р а
иР с
. 4.З . Ком по не
Бы л о б ы н е с п р а в ел д и в с баз м и , п ресадтв л н ы к о м п о н е н от в .
т OleContainer н а срнаитц
о об й т и в н и м ан и е й н а ср т а н и ц
FastNel J j j L
- IffUlzyxwvutsrqpo
1 WebBrowser)
Ри с
zyx
пр о г ам м
, в ы с легкоьст ю с м о ж ет е п р и ат д ь ме у я Word и л и Excel, ат к и лю бог о ог ру д о п ри ло ж е о в си есмт е к а к серв р OLE.zyxwvutsrqponmlkjihgfedcbaZY
' Svstem ] Data Access 1 Data Controls) ADO 1 InterBase 1 Midas IntemetExDtess
\ \ \ ~ъ
вн е ш н и х
ы окм по не т
в
й Controls I ADO ] InterBase I Midas ] In t e *
е System Прилат
ы ком по не т
в
м н або р к о м п о н е н от в л д я р або т ы е zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQP ADO (ActiveX D ata Object) П али рт ы
Data Access I Data Controls ADO ] InterBase I MidasT IntemetExoress | Internet) FastNetl DecisiorJJ_L
Ри с
Дл
. 4.4. Срнаитц
я р еа л и з а ц и
и бо ль ш и
с ер в а м и е в а ял т
х в о з м о ж н о с е йт е к к о м п о н е н ат м
, в до п о л н ен и т в о з м о ж н о ст
п р и в е нд
а ADO — окм по нет
о ди алог в
ь п к о лд ю ч е н и е окн
я в н еш н и о п окдлю ч ен и
ы дл я рбаот
, п роеадсвтлям ы , о п и сан н ы х к о м п о н ен о т я в н еш н и
ы с б азм
м вы ш е х к о м п о н е н от
и дан ы
х
х п р и л о ж ен и ям и , Delphi п роедс в ActiveX. Н а р и с . 4.5 в ActiveX.
И х о с б е н о сь т ю я в л ес т я от , чт о о н и н ап о м и н аю т о бы ч н ы е к о м п о н ен т Delphi, н о муог т бы т ь н ап и сан ы н а лю бо м яз ы к е п ро г ам и ро в ан и я , л и ш б ы э т о с р в е дт о р а з р а б ок т и п е р од ж и в а л о в о з м о ж н о ст ь и х и сп о ль з о в ан и в р а з б ыа т в а ем ы х п р и л о ж ен и ях . Тнех ол ги я ActiveX баз и сетру я н а н е хт о л о иг и Microsoft COM. О бы ч н л и рт от в
о к о м п о н ен т ы к о м п о н е н от в , в то м ч и сл
ы ActiveX расп олагю ст . Е сл и в ы е е ок т р е е FIBook (р и с . 4.6).
я н а о нд о и м е н н о , т о виу д т
й срт а н и ц е н ес к о л ь к
ы ь я -
е Па о к о м п о н ен
-
П р и о п р е дл н ы х н ав ы к а х и оп ы т е р а з р а б очт и к а п р о г ам н о г о о б ес п е ч ен и я н у и в ер с а л ь н ы м и н м ср т у е н о т м л д я с о з ад н и я чо т е в в фо р м а т е Word и Excel може т а ст ь б и л и о е кт а ComObj.pas Delphi. До сатч н о и од н о й нф у к ц и и и з эо т й б и л и о е к т и — разм уестя , э т о нфу к ц и я function CreateOleObject(const ClassN ame: string): Idispatch; (о н а в о з в ращ ае т
л ав Г
4. бОзо р
Delphi
37_zyxwvutsr
с о б ъ ека т , п р енд аз н ач ен н ы й лд я п у р а в л е н и я в д сге а и с п о л ь зс е т у я л д я п о з нд ег о с в яз ы в а н и я и к о м п и л яц и и и он д с х г о ек т с а п р о г ам ь п р и л о ж ен и е и л и н ет . О ш и бк и с и н ат к с и с я от л ь к о в м о ен т в ы п о л н ен и я п р о г ам ы , так и м а м о д ет м с о з ад н и я п р и л о ж ен и й
я э ит м о б ъ я — кодг а ы н еи з в ес т а п р и п о з нд е м . К н и г а .zyxwvutsrqponmlkjihgfedcba
и н с т р му е н т о в
с ы лк у н а и н е тр ф й е к от м ) . Э т а фну к ц и в м о ен т н ап и сан и н о , е д уб т р або т с в яз ы в а н и и п р о яв л ю с т п о с в ящ ен а , в о с н о в н о м
с р ыед
р аз б о т и к
п р е ин л о й ж
Import ActiveX flmpibrtAcrivevKjl
Active Setup Control Library (Version 1.0] ActiveSkin 4.0 Type Library (Version 1.0) ActiveX Conference Control (Version 1.0) AudioControl ActiveX Control module (Version 1.0) Axis ActiveX Control module (Version 1.0) br549 OLE Control module (Version 1.0) C:\ WIND0WS \ SYSTEMSrefectt.dll
Ad d . CJass names:
zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA
zJ galettepage: | AcliveX
_»j
Unit djr name: jC:\ Program Files\ Borland\ Delphi54mports\
...I
Search path: j $(D E LPHI)4Lib;$(D E LPHI \ \ B in;$(D E LPHI )M mpor
Cancel
иР с
. 4.5. Диалог во
Win 3.1
^Јfg •
L_ В ю у с л ед щ е п у о с тд
ПВ о к
. 4.6. Ком по не
й лва г а к п р и л о ж ен и
о им порт
а внеш нег
Help
о ком понет
а ActiveX в с исемт
у
zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA Samoles ActiveX Sewers KComDonents mvyes kobo b i | TReader32] KMn^ika | * | ;*'
It* Ри с
е онк
_|
га
В ы
Г
т FIBook н а сртани ц
е р а с м о рт и ю и домкуен ат
е ActiveX Плаирт
м и сп о ль з о в ан и м Word.
е п о з нд ег
ы окм по нет
в
о с в яз ы в а н и
я лд
я
Ра зр а бот к
а дмуок е нт о в й M S Word в Delphi
и прилеожни лавГ
а 5. zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA б от а Р а с оо тек бъ м Word.Application
лав Г
а 6.
о С з д на и
е про с тг
о доумк ент
лав Г
а 7.
оС з д ан и
е тбиал
ц и рбоат
лавГ
а 8.
б оа т Р
а с ома тек бъ
лав Г
а 9.
б от а Р
а с оо тек бъ
лав Г
а 10.
р П о г ма м и р о в на и
а а с ним
и в до укм ент
и е Word
м Word.Basic е с войс т
в MS Word
ВЛ А Г
А 5
Ра б от а с оет кобъ м Word.ApplicationzyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLK В ад н н о й лва г от м а ит з а ц и и лд да н и я к о н р то л ер ос т я щ е м у н а Application (дл я
С о з ад н и з а п ус
е м ы п р и п су т и м к п р а ки т ч ес к о м у с о з адн и я е к т со в г о р а е дк о т а MS Word. К а а а в о т м аи з а ц и и н е ои д б х м о п чо л и у т в ер ш и н е о б ъ екн т о й м ле о д и п р и л о ж ен и дп у тос а к н ме у и п с т о ь ле з у я и ен д т и ф о к а т
е оет кбъ к и визаул иза ц
а Word.Application, я онк а прилеожн
Ф ну к ц и я , реали зю у щ а я ма н ех и з л и о ет к е ComObj.pas — нфу к ц и о т м я в л е ст я с р т о к а - и ед н и т ф к а о т р Р а с м орти
м п ри м е
р и сп о ль з о в ан и
м п у о с тд а к OLE- объекут я CreateOleObject. Е е еид н свтен н ы , а воз ращ ае т о н а с ы лк я эо т
й фн у к ц и
С о з иа д м н овы й п р о ек т D elphi, в к о тр м ес т м ы к а жу е м с ы лк у н а и сп о ль з о в ан и е б и л и ое кт м ен у ю W:variant. В фо р м е р асп о л ж и м кн оп ку н аж и т я кн оп к и н ап и ш е м ю с луед щ и й п р о г ам н ы I инадозС
е от ке бъ
, н иодасхт
я я в би б м а рм г у е н у н а о б ъ ек т .
-
.
ь онд а фо р м а . В л умод е фо р и ComObj и о бъ яв и м п ер . В п роц уде е о б р а окт и й е кт с .zyxwvutsrqponmlkjihgfedcba
а Word.ApplicationzyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONM
uses ComObj; var W:variant; procedure TForml.ButtonlClick(Sender: TObject); begin W:=CreateOleObject('Word.Application 1 ); end;
ю к о н рт о л е р а ав е ск аз ан о , лд я с о з ь у о ст д п к о б ъ еук т , я Word, — к объект у р WordApplication).
к жу
II. Разр б о т ак домук ент о в и преин лойж MS Word в аЧс т ь 42zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA
Е сл и в ы п о лн и т ся , н о ге о о к н е д уб т з ж рае г у н р ен н и м о б ъ е к а тм е т о тл ь к о о нд о ви т ь в True, т о ш е й фо р м е к о м п о н ен ю у с л де щ и й п р о г ам н ы
Delphizy
ь эо т т ф р а г м е н т п р о г ам ы , т о п р и ло ж ен и е Word з аписту о н е о тб р а з и с т я н а э к р ан е м о н и о тр а . В п ам ят ь к о м п ь ю ер т а о б ъ ек т Application, обесп ч и ваю щ и й у о стд п к о в се м в н т у , к о л ек ц и я м и свой свтам . В дан н ы й м о ен т н а с и н ер т с у с в о й св т о э о тг о о б ъ ек т а — Visible. Елс и ге о з н а ч е н и е с а ут н о окн о п р и л о ж ен и я Word анст е т ви д м ы м . Р асп ол ж и м в на т CheckBoxl, в п роц уед е о кт л и к а к о тр г о н ап и ш е м й е кт с :zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDC
jzyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA З а дни е видм ост и он к а прилеожни я Word
procedure TF orml.CheckBoxlClick(Sender: TObject); begin W.Visible:= CheckBoxl.Checked; end; М ан и п л у р п р и л о ж ен и з ж не р а г у
я с о т ян и е я т о п о я в л ес т я о в п ам яьт
м о б ъ ек т а CheckBoxl, м ы обн ажруи м , т о п ро аед т с э к р ан а м о н и от р а , бе з к а и - х ли б о к о р ты х о д мк у е н о т в (р и с
, чт о о к н . П ри ло ж ен и . 5.1).
о е
Н ' Microsoft Word :j йа Ф
л Јц д кв ар П
а к в а с Вт
иР с
П р и фо р м и р о в а н и н и е False, и аснту авли ват п о л н о сь т ю с о з а дн ы
т . Јивре
а 1р Фо ^а
. 5.1. Оено тб ржа
и о д км у е н о т х о мд к у е н о т
с ц и л б Ха
а Ј)н к а 2
е онк
о зпащу еног
в с в о й св т ь ге о в з н а ч е н и в с в о й вс т
о пенир ло ж
я Word
о Visible чшлу е с а тн у о в и т ь в з н ач е е True отль к о л д я о тб р а ж е н и о с о к р аи т о Visible. Т а к м о ж н
я ь
л ав Г
5. Рабо т а
в р ем
с о беткъ о м
я с о з ад н и . Олатж и ва ь в с е едй с в т и м к работ
н ий в и те д п у ист
иа н д з о С
я оч т е я п р и л о ж ен и
в и п о в ы си т ь п р о и з в о и д е лт ь н о с т ь р аб о т ы п ри лож е е и л и и чз а у я с в о й вс т а о б ъ ек т а Application, члуш е я н а м о н и от р е . П оэ мт у ас н т у о в и м Visible := True и п р и е с домк уен амт и Word.zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLK
е дму коетн
И ат к к н ем р иа т с в о й св т ок т р ы т ч ер лек ц и ес л м к е ун т фо р м щи Со з д ан и
а
, о бъ ек т Application з жаргеу н в п ам ят ь к о м п ь ю е рт а , и у н а с ест ь одуст у ч ер з п ер м н у ю W:variant. И е услд м с в о й вс т а э о тг о о б ъ ека т м в н и м ан и е н а к о л ек ц и ю D ocuments. О н а соердж и т о д км у е н ы т а и м о д ет ы л д я р або т ы с н и ми . Э лем н амт и к о л ек ц и и яв л ю ст е в н а сот я щ и й м о ен т о д км у е н ы т . Дуост п к н и м о щ с у е вс т л я з о б ъ ек т ы Item(doc:variant), гд е doc — и м я и л и и н едк с домкуен т а в . П ол е Count к о л ек ц и и с ое р д ж и т к о л и ч е св т о э л ем н от в к о л ек ц и о ок т р ы о тг о о дм к у е н а т . С озиад м н овы и Count= 0, т о н е т н и онд ог . Дл я эотг о и сп о ль зе у м о м те д AD D оэт й ж е к о л ек ц и . Р аз м есит е кн оп ку , в п роц уде у ок тл и к а к о рт й н а н аж и т е з ап и ш е м ю су л ед й е тк с :zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA е д о ку м е н т
а в кол е ицк
и думок е нт о
П о сл е в ы п о л н ен и с я в о к н е п р и л о ж ен и
я о дм т е я (р и с
а AD D е д уб . 5.2).
п . О б , и х я я к о л , й до м в -
в
procedure TF orm l.Button 2C lick(Sen der: begin W.Documents.Add; en d;
О б р а щ ьа т с
43 zyxwvuts
Word.Application
т со з ад
TObject);
н о д мк у е н т
, котры
й о тбр аз и т
-
я к од м т е у AD D к о л ек ц и и D ocuments м о ж н о к а к б е з а рм г у е н , ат к и с маруген отм . К одг а м а е рн у г т а н ет , соз аедт я обы ч н ы й од к м у е н т . Е сл и м о ет д в ы з ы в са е т я с м а е рн у г о т м (срток й - к ауз елт м н а фа й л ш абло н а ) , т о соз аедт я о дм к у е н т п о ш абло н у . В к о м п лек т е п о ас в т к и MS Office ес т ь н е с к о л ь к о ш абло н о в , к о тры е в ы , в ер о янт о , и сп оль зету е в св о е й рабо ...\ Mlcrosoft Office\ IIIa6AOHbi. Дл я свои х п ри ет . Ш абло н ы н с оя т д а х я в пак е zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHG л о ж ен и й м ож н о с о з а тд ь од п о л н и е тл ь н ы е ш аб ло н ы о д км у е н о т в , н а п р и м е р ш аб ло н фо р м ы п л е аж т н о г о п о ч р еу н и я и л и н ало г в й ед к л а р ц и . В адль н ей ш ем , и сп оль з у я о м те д AD D с куаз н и е м н а ш абло н , легк о с о з а тд ь нж у н ы й о д км у е н т , з ап о лн яем ы й и н фо р м а ц и е й и з п р о г ам ы . И сп о ль з о в ан и е ш абло н о в п р и фо р м и р о в а н и и н овы х од км у е н о т в п о з в о ли т с о з а дв т ь ги б к и е и о бнд у ы е л д я п о л ь з о в ае л т я п р и л о ж ен и я в с р ед е D elphi. С оз иад м н овы й о м д к уе н т н а осн ов е ш абло н а . Д л я эотг о р а з м е си т м в фо р м е кн оп к у и н а п и ш е м сю улдещ и й ф р а гм е н т п р о г ам ы .
от в
II. Разр б о т ак домук е нт о в и преин лой ж MS Word в Delphiz аЧс т ь 44zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCB
2 zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA
I IV Microsoft Woid - Дмчок с нг 'j u j !!Јай :| 06ыы н ч
л EW к ва р П
а к в а ст В
а а и р оФ
т Јивре
с 1аци яб
а QKHO ?
zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQP К Н * В Щ Ш Ш , \ = \ = *Ж W , • zyxwvutsrqponmlkjihgf • У ' ,А zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA
й
- Times New Roman
•D в ; У
;
• Ж
- 10
1 . I . 2 • I • 3 • I • 4 • с • 5 • I • 6 • > • 7 • I • 8 • I • 9 • I • 1 0 • I • И • I • 1 2
; Дея и в тс й
- fcj ' . ыри х кв А
Ст р
. 1
>аР
- \
д 1
I / I
Ри с
| ми
л и Д
>:т 1 о К
в
л 1
, с ознады
й м оедт
м ADD бе
з армгу оент
в
В
д к ва р П
я
- 41 ' а Ј ' А , - = ~- g
Ч П О Щ п
. 5.2. Доумк ент
\ W M iciosoll Woid - Домч к е иг *У ] ^а й
н а Ос
1 3 • I • 1 4 • I • 1 5 • I • 1 6 • I • 1 7 • I • " Э —
а к в ат с В
а м ар о Ф
т и в р Се
' Times New Roman
г 24
с 1а б^щ • X
а н кО
К
о ?
- |Е :Е ft i)E .; •
Н | [в S
zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFED 1
• i • I • , ' - 2 • > • 3 • 1 Л 4 ••
•
•
•
•
•
' ' 5 • I ' 6 • ' • 7 • i • 8 • i - 9 • • - 1 0 • i - 1 1 • i - 1 2 • i • 1 3 - i
•
• !
'
С ер г [«еид т
| еД й с т в и я
тоФигары
, . 1
Ра з
д 1
е ежо
ю ц е п
Ри с
* \ Ч П О 1/1
. 5.3. Доумк ент
| Н а 3,3с м С т 3
, с о здан ы
'
й н ек с л А
л 16
й м одет
1 4 - i •
% !
1 6 . ' г •
• * '
]
| 4 оК
•
]
1990- 1994 Р у юз о д и т е л ь п л а но в г • Bie ае к а но х а я с ис те м
i С т р
•
и т пя р д П е р о о ще п а пхокижап
* '
е «Бшакочм
»
а .
'= ^ 6
-
м ADD с ис поз львнаие
м ш б а ло н
а
# • t ' 1 8
л ав Г
5. Рабо т а
с о беткъ о м
Word.Application
45_
\ zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA Син адоз е дмуок тне а п о шно лб а у zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPON procedure TForml.Button3Click(Sender: TObject); var d ir _ :st r in g; begin G etD ir(0, dir_); zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA end; if not OpenDialogl.Execute then begin chdir(dir_); exit; chdir(dir_); W. D o c u m en t s. Ad d ( O p en D ia lo gl. F ileN a m e) ; en d;
Дан н ы в ы бр ат бере
\у г р и е Д ри с Е сл к р ы в ае
й ф р а гм е н ь фа й
т п р о г ам ы п о з в о л яе т ок т р ы т ь ид ало г в е окн о , н ай т и и л ш абло н а , и сп оль земуы й п р и с о з а дн и и н ов г о о д км у е н а т . В ы м фай л zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA е т аон р д С .е рзюме DOT и з п ап к и ...\ Microsoft Office\ UIa6AOHu .тнеы к оум д Р а л зь е т у т в ы п о л н ен и я м о д ет а AD D п раседвтл н н а . 5.3. и с е тр б у м е го
я в н ес т , и сп оль з у
т р ыО и к Р ан е вы з ов с ы лк ек т с i О т р ык и
и и з м ен ен и я м о д ет
е доумк е нт е с о з ад н н ы е о м д те а н а пт у а п р о г ам е оудмк е нт
я в с о з адн н ы ы к о л ек ц и
й р ан е е о д км у е н т , одгт а о т и D ocuments.zyxwvutsrqponmlkjihgfedcbaZY
а
й о д км у е н а м ож н о к ау з т ь и и м я фай ла ы в ы и лг яд
т м ож н о о кт р ы ьт с п ом щ ь ь и н еск о ль к о м а р у г е н о тв . Октрое м р ан е е с о з ад н н ы т а тк :
ю о дм т е , н о главн ы й о д мк у е н т
а Open. П р и й и з н и х — . Ф р агм ен т
а
procedure TForml.Button4Click(Sender: TObject); var d ir _ :st r in g; begin G etD ir(0, dir_); if not 0penDialog2.Execute then begin chdir(dir_); exit; end; chdir(dir_); W. D o c u m en t s. O p en ( 0p en D ia lo g2. F ileN a m e) ; en d;
Р а л зь е т у ри с М о те ат м и и м а не р у г т
т в ы п о л н ен и . 5.4.
я ад н н о г
о ф р а гм е н т
а п р о г ам
д Open к о л ек ц и и D ocuments м о ж н о в ы з ы в ат ь с н еск о ль к и м . О браит м с я к сп р ав о ч н о й с и е мт е Visual Basic и рас м орти ы э отг о о дм т е а (табл . 5.1).
ы п а р с в ет д л
н н а и м а р уге н м с и н ат к с и
с
46
аЧс т ь osoft Word - Рец п
^ 1 йа Ф
л Ди
ин авз ан
т (то лкь
д к в ра Д
е
II. Разр б о т ак о четн и е
а к в а ст В
домук ент о в
MS Word в Delphizyx
и преин лойж
]
а м ор т Ф а
- и в р е С
• Times New Roman
• 14
с ц и л б Ха
-
а QKHQ 2
Ж К
:
Н Ш \ Ш Ш Щ • J E
' П " ^ ' zyxwvutsrqponmlkjihg
:Е t F У Ё
izyxwvutsrqponmlkjihgfedcb a is • i • is - i • i? • i • T j
0,5 лир т 2 яйц а 0,5 чйа н о 0,5 чйан о 1 савол т 2 снак т
а молка
;
й лжок й лжок я ложк а мкиу
и сы до и уса ку а сар ха
» \
4 D D | 4
J
»
; ; ;
.
Н али т
ь
T МП UH.'f
l
я * k Q ы р АетоФчэ , 1
ы н а м олке
о
i
С тр
т «Бл и н
;
Н ач л
: Действи
п це Р р
р аз
д 1
1/1
:Н а 1с м
Ри с
Си нт а с ки
с м е т од
С т 1 ' Ко
л i
. 5.4. Доукм ент
' = ;3 S
zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONML , рокыт
й м о е дт
м Open
а OpenzyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGF
Documents.Open(FileName, ConfirmConversions, Readonly, AddToRecentFiles, PasswordDocument, PasswordTemplate, Revert, WritePasswordDocument,
WritePasswordTemplate, Format)zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLK
5.1. Аргму е нт ы
аТ б л и ц рм у г А е н
т
метао д
и фуцнки о наль е
п
З н а еч н и
FileName
String
туП
ConfirmConversions
Boolean
False — н е трыавк о рП е о б р а з о в н и й ла фа , рм фо а DOC
Readonly AddToRecentFiles
иТ
Open, и х т и пы
Boolean
йло фа PasswordDocument
String
е ь и им
я йл фа
а ь д и ал о г в
е а йл ф т о к тр г
True — рытк о "тк оьл о дл я ченият
Boolean
True — доеябвла в м ен ро л а П
з н ач е и
ь лд
е о нк
а пр о ос етаилч
ь д о ум к е н
и ориыкт
о и я о т
т в и м р еж
е
" т им ю File
я оирытк
я йл фа я до укм ент
а в с п и с о а
к
л ав Г
5. Рабо т а
с о беткъ о м
Word.Application
47
аб Т л и ц а
zyxwvutsr
т zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA иТ п З н а еч н и е
р мгу А е н
PasswordTemplate
String
ро л а П
Revert
Boolean
True — возра м у тен , ес л п о р в нт о
WritePasswordDocument
String
WritePasswordTemplate
String
Format
Чи с л о
е о дм т е а П р и вы з ов н е к ау з ы в а т ь и х , н ап р и м ер ок т р ы в а е т фа й л бе з н ем н о г о и з м ен и т ь 'с:\ Домкеун 1т .с!ос'); , т ч с а ле у . К одг а н а м п с ет р о б у н и я" , т о и сп оль зе у м ю у с л ед щ и
1
Open м ож н
ь дл
Р а з м е си т л яю щ и
м в н аш е й ок тр ы в а т
; ирытк О
;..;„„
к а и -х ли б с и н ат к с и о к о н еч н ы
а в рми же ,,;
и эо т
ь лд
ро л а П ш б а ол н
ь лд е
о Фр м а
т оркытваем о г
я ш боалн
а
т к с о р х ан е о м т доумк ен
я с о р х ан е и а в файл
у д о ук
-
т орсыквеат
я
я и зм ен о г
о
е
я с о р х на е и
я и зм ен и
й в
а zyxwvutsrqponmlkjihgf
о до умк ент
о и гн о р и р о в а т ь н ек о тр ы е м а р е у гн т ы и в W.D ocuments.Open(FileN ame); п рост о о о д п о л н и е тл ь н ы х в о з м о ж н о с етй . Е сл и с вы з ов а — W.D ocuments.Open(FileN ame:= й а лр ь з е т у т е д уб т а тк и м ж е , к а к и в п ерво м я ок т р ы т ь о дмк у е н т в р еж и м е "толь к о лд я чет й с и н ат к с и с :
, вы з о
й фо р м ь о д км у е н т
е дмуок тне ,
я оирыкт
ро л а П д о ум к е н т
W.D ocum ents.Open(F ileN am e:= 'c:\ Д о к ум е н т1 .doc'
;
5.1 (оокнчаи е)
.... ,
, R eadon ly:= True);
е кн оп к у и н ап и ш е ы в реж и м е "толь к е "ткоьл ..„,„
м п р о г ам н ы о л д я ч ет н и я "
о лд я ченият
й е кт с .
, п о з в о
"
Л
,",
-
' . . . . • ! zyxwvutsrq izyxwvut
,.„.,.........
procedure TForml.Button5Click(Sender: TObject); var dir_:string; begin GetDir(O,dir_); if not 0penDialog2.Execute then begin chdir(dir_); exit; end; chdir(dir_); W.Documents.Open(OpenDialog2.FileName,Readonly:=true); end;
Е сл си м
и лд я октр ы ит о о т и х п о с л е д в а лт ь н о с и т
1
Н ек о р т ы Integer и л
я о д мк у е н т
м свой аст м (и мюе щ и и Extended, э т о н е вы з ове
а и с п о л ь з се т у , т о си н атк си
м раз н ы
е чи словы т ош и бк и
я н е два , а р т и амргуен ат с и з м е н и ст я н а но д
е ти п ы .
) м ож н
о п ри сваи т
, н ез ав и у з ап и сь
ь з н ач ен и
.
я ти п
а
48
аЧс т ь
Н а п р и м ер щ ищ е
: октр е
II. Разр б о т ак
домук е нт о в
MS Word в Delphizy
и преин лойж
м о дм к у е н т в р еж и м е "толь к о л д я ч ет н и я " , корты й за .zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA
н п а р о л ем
W.Documents.Open(FileName:=' с : \Д1 тнемуко .с1со
' ,
ReadOnly:=True, PasswordDocument:='123');
З ес д
ь рс т о к
О иб р а т м не у г ок т р ы в а е м о г
а '123' — з н ач ен и
м в н и м ан и т м ож е
е п ароля
е н а п о с л ен д и т п ри н и м ат о о д мк у е н т
ь ц ел ы а (табл
.
й м н е а ру г е ч и сло в ы . 5.2).
т о м д те е з н ач ен и
аб Т л и ц а
а ADD — Format. Эо т т ар я и о п р е дл я т фо р м а т
5.2. Значе и я
ар гму е нт а
и фо р м ат ы
zyxw
домук е нт о в
а zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA З н а еч н и е Ф орм а т отрваыке м ог о доумк е нт а
о нс т К а н
WdOpenFormatAuto
0
с В ы б те и ра
WdOpenFormatDocument
1
о у к мД е н и м ен
т Word (фай и DOC)
WdOpenFormatRTF
3
о у к мД е н ш и р ен
т в фо рм та м им ен
WdOpenFormatTemplate
2
Ш б а ло и м ен
н Word (фай и DOT)
WdOpenFormatText
4
WdOpenFormatUnicodeText
к Ор от е в а ме о г щи
Format
о т ркваеы м хы
м е к т со в ы о о д км у е н а т й ф р а гм е н
! От р ык и
т п р о г ам ы
а в форм а т
е ТХ
т (фай
и л с рас ш и рени
м
е RTF (фай и RTF)
л с рса
л с рас ш и рени
м
л с р ас ш и р е н и
м им ен
и
) о ди К р в н а ы р ени м им ен UNICODE
5
й фа й л , и сп оль з у . Дл я эотг о од б а в и :
е муодк е нт
ес к Т Т ХТ
я аовтм иеатчс к
я в о з м о ж н о ст м в фо р м
й е с кт и ТТ Х
ь з а дн и у кн оп к
т (фай ) — тсек
л с р ас ш и т в фо рм та
я фо р м а т у и н ап и ш е
а о кт р ы м сю улде
Т
procedure TForml.Button7Click(Sender: TObject) ; const Wd0penFormatText=4; var dir_:string; a_:integer; eee_:string; begin GetDir(0,dir_); if not 0penDialog3.Execute then begin chdir(dir_); exit; end;
е
-
|
л ав Г
5. Рабо т а
с о беткъ о м
49zyxwvutsrq
Word.Application
c h d ir ( d ir _ ) ; W.D ocuments.Open(OpenD ialog3.FileN ame,Format:= wdOpenFormatText); end; Р е з л ь а ут
т в ы п о л н ен и
я э от
й п р о ц у ед
ы п а р с в ет д л
н н а р и с
. 5.5.
zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA ь па ожх я н а сы р
\ \ :' Mirmsnh Wold - Лпйов | | Ч !Јай [(тс ке
" Ёи
т
Щ
о П р а в
" к в а тс В
с 1«бцл
[лю бовь част со в ер ш ен н с л уч а е тс я шуи
, п о хж а я Е сл и но д а ж ы д о н а с н а ч и н а е о н е с лы ш и т . Н е п о тм , а н е п о сам ы
тЧ о ж е ровн о с т о ыт с я од у б н о м с л уч а е юл б , то л ь к п о б е ж де н а . п о др а б а ты в а е слу х у о бъ ек т Та к к а
н а ыс р , рок м и л и н е н а р о к о м т п р е с л е до в а т ь . Г олху й л и у л и ест ь э т е глаз а , и л и п
с л уч а е т с ч раз , - я о я те б И н о гд а а жд т н а п о л с та в к а свое
. Г ' Роз
д 1
а юл б о в н ы
х н о т ш ен и
й у и жч м у
Н л с О и
. 5.5. Доумк ен
С тТ"
" о К
л Г
т в фо рм та
!""• •
е Т Х Т
Н о есл и м ы п оп ребу м о кт р ы ьт о м д к уе н Format:= wdOpenFormatText, т о п чолиу В р еж и м
е в ы п о л н ен и к показ н
, к а
П о дбн ы е ош и бки м ож н о о бр а ы т в ат Delphi л д я обра окт
н и н еж щ и
у о б э то м н у я , п р и кджа с , я то л ь к о а б уд е т й о о н п ров е
н н еск о ль к
о
- • . Ч • О Ц 41 *" • - JL • Д . • = ~ S В Ы
1/?
Ри с
, м ы в лю б ляем с я п о мса ы е ш уи , т о оч « с то й к о е бу е ж д е н и е , б дту о ю и ы мл б й ч елове к f и л и н е т , н о ч т о - т о с о с ол х у м у н е г о о п р ед е а п о го в о р к а , ч т о в л ю б и ть с я нж ом о и м не о п о о м а ыс й п у ок ? Г
я в та к и х с и т уа ц и я х ? А т о , ч т о с к а з а т ь ме , и л и даж е боль ш е . И н а д о в с е в р е м я г о в о р и ть т е б я юл б , я т е б я юл б , я о ч е н ь т е б я юл б я юл б , - и д о с а д н а я г л ухо т а до р о г о г о ч еловек е с к л а ды в а е тс я та к о е ощ у не и е , б дту о вюл н е б ы и у хо г о р л о н о с о м , - т а к ч а с т о и н авяз ч и в й лю бв и .
к ди н а м и к
> U • »А « Ч Ф О Г «>
Д«1 с яие
еь д т
ш
о 2
а С кн
• i . 1 • i • 2 • I • Э • I • 4 • t • 5 • I • Б • > • 7 • i • 8 • I • 9 • I • 1 0 • i ' 1 1 • I • 1 2 • I • 1 3 • I • 1 4
j X
р тС
ирв е С
:
• • '•* (Н | # й ^ t
д аг а
- | g| x| . zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA 10 - ' Ж К Н '- '',Ш 9 : = ЈШzyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQP %Щ • zyxwvutsrqponmlkjihgfedcbaZ • д.