Здравствуйте, не получается цикл в котором я беру из массива слова и по очереди ищу их в документе word, если слово находит , то вылазит сообщение. Первое слово у меня цикл находит, но остальные не хочет. А если слово не совпадает и его просто нет внутри файла, то показывает ошибку выполнения в памяти.
Код:
procedure TForm1.Button3Click(Sender: TObject);
var
word:Variant;
text_:string;
slovo: array [0..10] of string; // Создание массива слов которые будут находиться в документе по очереди начиная с первого
i,ch,z:integer; //просто счётчики
begin
Word:=CreateOleObject('Word.Application'); // Создаю ОЛЕ объект Word
Word.Documents.Open('c:\1.docx'); // открываю подготовленный документ
Word.Selection.WholeStory;
Word.Visible:=true;
slovo[1]:='Город'; // Добавляю в массив 3 слова, для последующего поиска внутри файла word
slovo[2]:='Улица';
slovo[3]:='Район';
i:=1; // Устанавливаю значение счётчиков в 1
r:=1;
for i:= 1 to 3 do // цикл который должен искать слова из масcива slovo по порядку от 1 до 3
text_:=slovo[r]; //беру первое слово
inc(r); //перехожу к следующему слову из массива для следующего поиска
Word.Selection.Find.Forward:=true;
Word.Selection.Find.Text:=text_; // Процедура поиска файла
if Word.Selection.Find.Execute then ShowMessage('FIND'); // Если слово нашлось, то вылазит табличка FIND
end;