Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Замена текста макросом из экселя в ворде, Потеря форматов и стилей Word-документа.
 
Цитата
The_Prist написал:
objDocument.Content.Find.Execute "!Value", False, False, False, False, False, True, 1, False, "ЗАМЕНА СДЕЛАНА", 2
Спасибо!
Работает как нужно.
Замена текста макросом из экселя в ворде, Потеря форматов и стилей Word-документа.
 
JayBhagavan, выражаю Вам огромную благодарность!
С этим вариантом уже можно работать.
Приятно удивлен таким быстрым ответом! Спасибо, ещё раз!

Если Вам удастся найти более красивое решение, то рад буду на него взглянуть. В наш век автоматизации подобные штуки ещё сотню раз нам пригодятся в работе.
Изменено: iScalper - 07.08.2015 11:11:51
Замена текста макросом из экселя в ворде, Потеря форматов и стилей Word-документа.
 
JayBhagavan, спасибо за быстрый ответ!

Стили остались прежними, не сбились, это очень хорошо!
Но значение !Value1 не изменилось. Замена текста не происходит.
Замена текста макросом из экселя в ворде, Потеря форматов и стилей Word-документа.
 
Это очень простой файл.
Прикрепляю.
Замена текста макросом из экселя в ворде, Потеря форматов и стилей Word-документа.
 
Уважаемые коллеги программисты и просто знающие люди!

Подскажите, пожалуйста, как решить проблемку со сбросом формата данных.

В экселе запускаю макрос, который открывает вордовский файл "1.doc".
В вордовском документе мы производим замену текста "!Value1" на текст "ЗАМЕНА СДЕЛАНА".
Файл открывается и текст заменяется. Но! Теряется формат текста в вордовском документе.

Я использую объектную модель и делаю замену именно в параметре содержащем чистый текст:  objDocument.Content.Text
Если я правильно это понимаю.
Я не очищаю формат документа или формат данных принудительно.

Вопрос, как заменить только чистый текст, чтобы стили и форматы в документе остались?
Может быть можно как-нибудь сохранять формат и позже восстанавливать? Не пойму почему сбрасываются стили и форматы.

PS (слияние не предлагать =))

Буду благодарен за помощь!


Office 2007

Код
Private Sub toWord_Click()

    Set objWord = CreateObject("Word.Application")
    If Err.Number Then
       MsgBox "Can't open Word."
       Exit Sub
    End If
    
    pt = "C:\Автоматизация\1.doc"
    Set objDocument = objWord.Documents.Open(Filename:=pt)
    ' здесь мы получили исходный документ

    objDocument.Content.Text = Replace(objDocument.Content.Text, "!Value1", "ЗАМЕНА СДЕЛАНА")
    ' после замены текста в документе стили слетают

    objWord.Visible = True 'отображаем документ
    
    Set myRange = Nothing
    Set objDocument = Nothing
    Set objWord = Nothing
        
End Sub
Изменено: iScalper - 06.08.2015 17:16:05
Страницы: 1
Наверх