9
Будем считать такие
служебные слова:
в, на, с, за, к, по, из, у, от,
для, во, без, до, о, через,
со, при, про, об, ко, над,
из-за, из-под, под, и, что,
но, а, да, хотя, когда, что-
бы, если, тоже, или, то
есть, зато, будто, не, как,
же, даже, бы, ли, только,
вот, то, ни, лишь, ведь, вон,
то есть, нибудь, уже, либо
В качестве интерфейса
нашей программы будет
выступать рабочая книга
MS Excel, состоящая из 3
листов. На первом листе
находятся все элементы
управления: поля для вво-
да названия, предполагае-
мого автора, а также кноп-
ки для открытия файла и
запуска процесса анализа
(рис. 2).
На этом же листе
выводится итоговый про-
цент - результат анализа
текущего текста.
Л
. 3.
На втором листе в единст-
венном столбце перечислены 55 служебных слов,
поиск которых ведётся в тексте
(рис. 3).
Наконец,
на третьем листе сохраняется статистика всех тек-
стов, которые загружались в программу
(рис. 4).
Интерфейс
готов,
приступим
к программирова-
нию обработчиков событий. Для этого создадим в
редакторе Visual Basic две процедуры, SelectFile и
Analyse (путём вызова пункта меню
Insert > Proce-
dure.
..)
и привяжем их, соответственно к кнопкам
открытия файла и запуска анализатора. Напомним,
привязка делается с помощью пункта контекстного
меню этих кнопок “назначить макрос”.
Приведу полный текст обеих процедур, снабжён-
ный комментариями:
S u b
SelectFileQ
‘В это й п р о ц е д у р е м ы в ы б и р а е м те ксто в ы й ф а й л ,
с
ко то р ы м б у д е м р а б о та ть
Л Ш
Ш
Файл
Формат
Л , wf-
iX .tm
A1
*
fx &
Д
-
y
b
7 X 7
1
В
_
^
:
2
н а
3
! с
4
з а
5
к
8
п о
7
. и з
8
У
9
о т
1 0
д л я
1 1
в о
1 2
б е з
1 3 ,
д о
1 4
7
1
1 5
ч е р е з
1 8
с о
1 7
i a
И
4
1
от
m&
п р и
r m r v .
........ .
w \ Интерфей
‘П е р е ч и сл я е м п о д д е р ж и в а е м ы е типы ф ай л о в
.Filters.Add
“ W o r d F i l e s ” , “ * . d o c ;
\ r t f ;
* . t x t ;
\ h t m ;
\ h t m l ”
.Filters.Add
“ A l l F i l e s ” ,
“ V "
‘С о зд а ё м о б ъ е кт д л я р а б о ты с ф ай ловой си сте м о й
S e t
fs = CreateObject(1
“ S c r i p t i n g . F i l e S y s t e m O b j e c t ” )
‘Д и а л о г о то б р а ж а е т папку, в ко то р о й бы л п р е д ы -
д у щ и й ф ай л
.InitialFileName = fs.GetParentFolderName(Range(“ HHTep-
ф е й с ! В 7 ” ). V a l u e )
S e t
fs =
N o t h i n g
‘Е сл и п о л ь зо в а те л ь п о д тв е р д и л о ткр ы ти е
I f
.Show <> 0
T h e n
‘З а п и с ы в а е м и м я ф ай л а в я ч ей ку
Р а п д е ( “ И н т е р ф е й с ! В 7 ” )Л / а 1и е
= .Selectedltems(l)
‘Загр уж аем текст д л я предварительного просм отра
‘с о з д а ё м о б ъ е кт-п р и л о ж е н и е W ord
,
‘с пом ощ ью которого будем получать слова из ф айла
S e t
word_app =
C r e a t e O b j e c t ( “ W o r d . A p p l i c a t i o n ” )
‘О тк р ы в а е м нуж ны й ф ай л
word_app.Documents.Open
( Р а п д е ( “ И н т е р ф е й с ! В 7 ” ))
‘О ч и щ а е м ячей ки , в к о то р ы е б у д у т в ы в о д и ть ся
д а н н ы е
‘о ф а й л е и р е зу л ь та ты а н а л и за
Р а п д е ( “ И н т е р ф е й с ! В 9 ” )Л /а 1и е = “ ”
Р а п д е ( “ И н т е р ф е й с ! В 1 1
” ).Value = “ ”
Р а п д е ( “ И н т е р ф е й с ! В 1
2” ).Value = “ ”
Р а п д е ( “ И н т е р ф е й с ! В 1
3” ).Value = “ ”
‘Е сл и в те ксте б о л е е 2 5 слов, то б у д е м вы вод и ть
п е р в ы е 25,
‘и н ач е - в с е сл о в а
I f
word_app.ActiveDocument.Words.Count >
2 5 T h e n
previewWordCount = 25
E l s e
previewWordCount = word_app.ActiveDocument.Words.Count
E n d I f
‘В н а ч а л е н а с т р а и в а е м д и а л о г о ткр ы ти я ф ай л а
W i t h
Application. RleDialog(Office. MsoFileDialogType.msoFileDialogOpen)
.AIIowMultiSelect =
F a l s e
.Filters.Clear
r n m
m
t f i іж » \ ■ K m m
Фай»
ЦЖМ:
Яор&хг
£«>*«**
1 0
‘В ы в о д и м в я ч е й ку н ач ал о те кста и з ф ай ла
F o r
i = 1
Т о
previewWordCount
Range(“ HHTep<t>eiic!B9” ).Value =
Н а п д е ( “ И н т е р ф е и с ! В 9 ” )
Value +
word_app.ActiveDocument.Words(i)
N e x t i
І
’ і
Ё
VAWVAW
V
f-
..---:V.
u
&
X
•.WAWAVAVW V U * -Av.v.v VW
.-
0
чим ■ vwimv
СИ
13 ЗОІАдг■
эаи») и Всрис Стругацкие
ш ьт щ т ж
ГЛ.ЛЛ'ЛЛ.Л- .V.S»-
.
WAW V-V uw.v.W
v
w.wv vaw V.V/.V.UVMM*
в
. .
r
:
r ,_
.0
..
ьж'ЯчшЫт
слов І8£*г« сіюс^&мивбнм* саме і
£
.'■•■•■•JA-.V.-.IL'—■■
-г---
.•--.у.
. ^A«.v.
..v.v.v.-c.
.u^ua.v.
.v^a£.:
£US
l?5184
тв\
і
4
і
!
Ь
07.01 2Ш 9 14 55
я Б&рмс Стругацкие
07.01
2СЮ9
15 18 Аркадий н бори«
С щ г щ т
0 5 0 1 .2С09 1&2D А$?к;ідий и Вормс
Ш .Ш .2Ш 9 50:31 Вормс Аку нии
'Трудно 8fcffb богом
Пикник
т і&ьчшт
В
Пиксели налог
Ё
о
м & ж т т
д ж ш т ъ
0.14101715©
О .Ш 2 0 К З '
72421
Ш 2 0 ;
і ®
14311
7844
Щ
Ш 01 2СШ 50 45 Аркадий и Борис Стругацкие
Зеботый зкеяернмент
2824084 і
S334
ПО?
т
£&Ш 2039 20 64 Аркадияи Борис Стругацкая
Ф:рт;«ия
ІЄіЧ&фгр .hdrftCDs
0.128714396:
31G22
4024
24 01 2009 Ю 0?
и Борис
В щ т щ *т
0?*.йк *У шгйбигеге a.K? ^Аркадий » Бг
СЧ12Ш20491;
т ? ;
ш ;
‘З а к р ы в а е м W ord-д о кум ен т, и
е с л и о н ед и н стве н н ы й , то и в е сь
W ord
word_app.ActiveDocument.Close
I f
word_app.Documents.Count = 0
T h e n
предыдущая страница 53 Компьютер 2010 11-12 читать онлайн следующая страница 55 Компьютер 2010 11-12 читать онлайн Домой Выключить/включить текст