Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Ада и другие языки _ вставка строк

Автор: Тёмный Эльф 12.03.2007 4:19

Помогите пожалуйста разобраться с фрагментом из кода.

Код
InsertLines 200, Lines(1, 200)


InsertLines я так понимаю, это вставка строки. Но я не знаю, что значит цифра 200
Lines вроде чтение. То что в скобках 1 и 200 это параметры что-ли? как понимать их? Типа 1 строка, а что тогда означает 200?

Автор: volvo 12.03.2007 4:31

Код
InsertLines 200, Lines(1, 200)
Означает "Вставить в документ с 200-ой строки копию строк 1-200"

(Lines вернет строки, начиная с той, которая указана первым параметром, и в количестве, заданном вторым параметром)

Автор: Тёмный Эльф 12.03.2007 4:43

о спасибо. еще вопросик если normaxline = document.CountOfLines это количество строк документа Document
а Find значит вроде найти строку "Hellо" в этом документе, но что означают другие параметры: 1,1 и 5?
Find("Hellо", 1, 1, normaxline, 5)
З.Ы. искал в инете справочник по VBA, но пока ничего толкового не нашел. может, кто-нибудь знает ссылку на справочник функций VBA?

Автор: Тёмный Эльф 12.03.2007 6:27

Есть два документа doc1 и doc2. В документе doc2 нужно найти строку "Предложение". Если её не находим,то копируем все что есть в doc1 в doc2, предварительно удалив из doc2 все ,что там уже было записано.
fff принимает значение TRUE если в документе найдено нужное предложение, а если в doc2 такой строчки не найдено, то идет пробежка по циклу, сначала удаляются все строки из doc2, а потом идет еще один цикл, строки из doc1 по одной копируются в doc2. не знаю, идет ли переход на новую строку или нет.. но не в этом дело. ничего все-равно не работает =( doc2maxline = doc2.CountOfLines и doc1maxline = doc1.CountOfLines соответственно. Вот часть кода, которая вроде бы должна это реализовать, но не реализует =(( (MsgBox "Успешно скопировано" не выскакивает несмотря на то, что теперь когда из doc1 все скопировано в doc2 "Предложение" должно быть найдено, а значит fff принять значение TRUE. ничего подбного не происходит)

Код

fff = doc2.Find("Предложение", 1, 1, doc2maxline, 11) 'еще проблема в том, что я сомневаюсь в правильности передаваемых параметров. написал 11 но хз почему не 12 или 13?

   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

Автор: volvo 12.03.2007 19:15

Цитата
может, кто-нибудь знает ссылку на справочник функций VBA?
smile.gif

http://msdn2.microsoft.com/en-us/library/aa279125(office.10).aspx ?