работа с двумя Word документами
От: dyuzhev2004  
Дата: 01.03.05 13:30
Оценка:
В программе создаются два Word документа:
...
Set DocWord1 = WordApp.Documents.Add
Set DocWord2 = WordApp.Documents.Add
...

Нужно часть текста вставлять в DocWord1, часть в DocWord.
Я делаю так
....
DocWord1.Application.Selection.InsertAfter "Это первый документ"
DocWord2.Application.Selection.InsertAfter "Это второй документ"
...

При этом происходит путаница между этими документами. Как будто Word забывает на что ссылается DocWord1 и DocWord2.

Как правильно работать с несколькими документами Word ?
Re: работа с двумя Word документами
От: Сат Украина  
Дата: 01.03.05 13:51
Оценка:
Здравствуйте, dyuzhev2004, Вы писали:

D>В программе создаются два....

D>DocWord1.Application.Selection.InsertAfter "Это первый документ"
D>DocWord2.Application.Selection.InsertAfter "Это второй документ"
D>...

Собственно в выделенном и ошибка.
... << RSDN@Home 1.1.4 beta 4 rev. 303>>
Re: работа с двумя Word документами
От: Vi2 Удмуртия http://www.adem.ru
Дата: 01.03.05 13:51
Оценка:
Здравствуйте, dyuzhev2004, Вы писали:

D>Как правильно работать с несколькими документами Word ?


Есть такой вариант:
DocWord1.Windows(1).Selection.InsertAfter "Это первый документ"
DocWord2.Windows(1).Selection.InsertAfter "Это второй документ"
Vita
Выше головы не прыгнешь, ниже земли не упадешь, дальше границы не убежишь! © КВН НГУ
Re: Selection'ом пользуются только Лузеры!!! ;-)
От: Аноним  
Дата: 02.03.05 16:48
Оценка:
Здравствуйте, dyuzhev2004, Вы писали:


D>В программе создаются два Word документа:

D>...
D>Set DocWord1 = WordApp.Documents.Add
D>Set DocWord2 = WordApp.Documents.Add
D>...

D>Нужно часть текста вставлять в DocWord1, часть в DocWord.

D>Я делаю так
D>....
D>DocWord1.Application.Selection.InsertAfter "Это первый документ"
D>DocWord2.Application.Selection.InsertAfter "Это второй документ"
D>...

А надо так:

Option Explicit

Public Sub WorkWithTwoDocs()
    Dim clsDoc1 As Word.Document
    Dim clsDoc2 As Word.Document
    
    'Создаю два документа.
    
    Set clsDoc1 = Application.Documents.Add
    Set clsDoc2 = Application.Documents.Add
    
    'Пишу текст в первый документ.
    clsDoc1.Paragraphs(1).Range.Text = "Hello WORLD!!!"
    'Пишу текст во второй документ.
    clsDoc2.Paragraphs(1).Range.Text = "Сдравствуй МИР!!!"
    
    'Отключаю ссылки от документов.
    
    Set clsDoc1 = Nothing
    Set clsDoc2 = Nothing
End Sub
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.