Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Срочно!!! Беда, возникающая после поиска и замены в шейпе в Word

266
07 апреля 2004 года
mhaturov
901 / / 23.10.2003
Беда следующая. Есть шаблон Word, в котором имеются шейпы с текстом. Ситуация следующая:
1. Открываю шаблон:
 
Код:
Dim Wrd As Word.Application
Dim WrdDc As Object
.........
  Set Wrd = New Word.Application
  Set WrdDc = Wrd.Documents.Open((SaveFlName), , False)

2. Потом бегаю по шейпам и заменяю в них текст не необходимый мне
 
Код:
For I = 1 To WrdDc.Shapes.Count
...............
WrdDc.Shapes(I).TextFrame.TextRange = TxShape
................
Next

Всё работает замечательно. Но в одном из шейпов надо писать 2 значения. В силу того, что алгоритм изначально этого не предусматривал, а этот шейп НЕЛЬЗЯ заменить двумя шейпами, я это обрабатываю на отдельной ветви. Выделяю щейп и через поиск-замену заменяю в нём текст.
Код:
WrdDc.Shapes(I).Select
                              Selection.Find.ClearFormatting
                              Selection.Find.Replacement.ClearFormatting
                              With Selection.Find
                                .Text = LocAdoRs.Fields(5)
                                .Replacement.Text = TxShape
                                .Forward = True
                                .Wrap = wdFindContinue
                                .Format = False
                                .MatchCase = False
                                .MatchWholeWord = False
                                .MatchWildcards = False
                                .MatchSoundsLike = False
                                .MatchAllWordForms = False
                              End With
                              Selection.Find.Execute Replace:=wdReplaceAll

Потом, кгода всё готово, я печатаю документ и грохаю ссылку на него
Код:
PrBg = Wrd.Options.PrintBackground
  Wrd.Options.PrintBackground = True
  WrdDc.PrintOut
..........
  WrdDc.Close False
  Wrd.Quit SaveChanges:=False
...........    
  Set WrdDc = Nothing
  Set Wrd = Nothing
  'МАХ Так как печатаемый файл является копией шаблона, _
   удалим его
  FsO.DeleteFile SaveFlName

Проблема в следующем.
При первой печати всё проходит гладко, но при повторе при поиске и замене выдаётся ошибка:
№ 462
The remote server machine does not exist or is unavailable;
После перезапуска приложения первая печать опять проходит без проблем, но потом опять начинает лезть глюк.
Кто-нибудь сталкивался с подобным, или есть у кого - нибудь мысти по этому поводу?
Удаление файла не должно играть роли, так как он перед каждой печатью копируется из определённой дирректории и вся работа, в том числе и удаление проходит с копией.
P.S.
Ругается на
Selection.Find.ClearFormatting
И на
Selection.Find.Replacement.ClearFormatting
И на
With Selection.Find

:{ :{ :{
266
07 апреля 2004 года
mhaturov
901 / / 23.10.2003
Вроде как разобрался. Кажется, ошибка перестала возникать после того как изменил обращение к Selection на
WrdDc.Application.Selection.Find.ClearFormatting
ВО АЖ КАК!!!
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог