Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Access
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.10.2009, 06:33   #1
NeoN121
 
Регистрация: 13.10.2009
Сообщений: 3
По умолчанию Не работает замена

Здравствуйте
В Access пытаюсь заставить работать следующий код.
Смысл кода в том, чтобы открыть файл C:\letter.doc и заменить в нем маячок <<organizationname>> на подставное, в данном случае на Trylala, после чего сохранить документ и закрыть. Функция Debug.Print должна тот самый целевой кусочек контента отпостить, дабы я увидел, произошли ли изменения

Код:
Sub Edit_letter() 

Set appWord = CreateObject("Word.Application") 
With appWord 
    .Documents.Open FileName:="C:\letter.doc", ReadOnly:=False 
    With .ActiveDocument.content.Find 
        .Text = "<<organizationname>>" 
        .Replacement.Text = "Trylala" 
        .Forward = True 
        .Wrap = wdFindContinue 
        .Format = False 
        .MatchCase = False 
        .MatchWholeWord = False 
        .MatchWildcards = False 
        .MatchSoundsLike = False 
        .MatchAllWordForms = False 
        .Execute Replace:=wdReplaceAll 
    End With 
     
    Debug.Print Left(.ActiveDocument.content, 34) 
     
    .ActiveDocument.Save 
    .Quit 
End With 
End Sub
Проблема в том, что замена не работает. При этом, ActiveDocument.content правильно возвращает содержимое документа, редактировать документ тоже можно. Еще одна особенность заключается в том, что если перенести этот код в Word (с некоторой редакцией, в частности, убрав пемеренную appWord), то код работает корректно
Помогите, пожалуйста
NeoN121 вне форума Ответить с цитированием
Старый 13.10.2009, 10:31   #2
Teslenko_EA
Участник клуба
 
Регистрация: 10.08.2009
Сообщений: 1,796
По умолчанию

Здравствуйте NeoN121.
в Вашем проекте подключена библиотека MS Word на которую ссылается код, или только используется ссылка на объект - "Word.Application" ?
Евгений.
Teslenko_EA вне форума Ответить с цитированием
Старый 13.10.2009, 23:00   #3
NeoN121
 
Регистрация: 13.10.2009
Сообщений: 3
По умолчанию

Библиотека не подключена, используется только ссылка на объект
NeoN121 вне форума Ответить с цитированием
Старый 14.10.2009, 12:02   #4
Teslenko_EA
Участник клуба
 
Регистрация: 10.08.2009
Сообщений: 1,796
По умолчанию

Здравствуйте NeoN121.
"если перенести этот код в Word ... то код работает" - значит код создан корректный,
подключите к проекту библиотеку MS Word и будет Вас счастье.
Евгений.
Teslenko_EA вне форума Ответить с цитированием
Старый 15.10.2009, 02:54   #5
NeoN121
 
Регистрация: 13.10.2009
Сообщений: 3
По умолчанию

Нда уш, стоило бы самому догадаться ))
Проблема решена. Спасибо, Евгений
NeoN121 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
TP7 чтение из файла, работает но не работает!? Qousio Помощь студентам 7 02.06.2009 09:37
Библиотека НЕ работает с 2008, но работает с 2000 SQL namenike Общие вопросы C/C++ 0 26.05.2009 11:04
Замена кода программы с Delhi5 на Delhi7 либо замена базы данных с Acessa на MySQL DorianLeroy Фриланс 8 18.02.2009 18:52
Miranda IM, qip не работает, но есть замена. Alar Софт 1 22.12.2008 20:12
Как работает Замена в блокноте? Alar Софт 9 14.01.2008 11:07