Elf_XP, 13.03.2007 - 11:57
плиз, помогите разобраться..
Есть два документа doc1 и doc2. (представлены как объекты) В документе doc2 нужно найти строку "Предложение". Если её не находим,то копируем все что есть в doc1 в doc2, предварительно удалив из doc2 все ,что там уже было записано.
fff принимает значение TRUE если в документе найдено нужное предложение, а если в doc2 такой строчки не найдено, то идет пробежка по циклу, сначала удаляются все строки из doc2, а потом идет еще один цикл, строки из doc1 по одной копируются в doc2. не знаю, идет ли переход на новую строку или нет.. но не в этом дело. ничего все-равно не работает =( doc2maxline = doc2.CountOfLines и doc1maxline = doc1.CountOfLines соответственно. Вот часть кода, которая вроде бы должна это реализовать, но не реализует =(( (MsgBox "Успешно скопировано" не выскакивает несмотря на то, что теперь когда из doc1 все скопировано в doc2 "Предложение" должно быть найдено, а значит fff принять значение TRUE. ничего подбного не происходит)
CODE
fff = doc2.Find("Предложение", 1, 1, doc2maxline, 11)
If fff = False Then 'уничтожение всего что есть в doc2
For k = 1 To doc2maxline
doc2.DeleteLines (k)
k = k + 1
Next
For i = 1 To doc1maxline
doc2.InsertLines (i), doc1.Lines(i) 'заносим все что есть в doc1 в doc2
i = i + 1
Next
End If
If fff = TRUE then
MsgBox "Успешно скопировано"
End if
Quim2005, 13.03.2007 - 13:22
Удалять по одной строчке, конечно, не серъезно, но чтобы много не воротить:
CODE
fff = doc2.Find("Предложение", 1, 1, doc2maxline, 11)
IF NOT fff Then
'уничтожение всего что есть в doc2
For k = 0 To doc2.maxline-1
doc2.DeleteLines (1)
Next k
'заносим все что есть в doc1 в doc2
For i = 0 To doc1.maxline-1
'на счет следующей строки сомнения
doc2.InsertLines(i), doc1.Lines(i)
Next i
ELSE
MsgBox "Успешно скопировано"
END IF
не запускал, только на основе собственного опыта.
может вместо doc1maxline все-таки
DOC1.Maxline ?