Как сделать замену в документе Word?
WrdDc.Application.Selection.Find.ClearFormatting
WrdDc.Application.Selection.Find.Replacement.ClearFormatting
With WrdDc.Application.Selection.Find
.Text = FlName
.Replacement.Text = TaInFld
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
WrdDc.Application.Selection.Find.Execute Replace:=wdReplaceAll
По идее, должен заменять этот тект он, но из среды VB6 не заменяет:{ . Извечный вопрос: что делать? Help!!!
Есть документ. На нём лежат поля Тект (из графики Wordа) В них определённый текст. Написал я код:
WrdDc.Application.Selection.Find.ClearFormatting
WrdDc.Application.Selection.Find.Replacement.ClearFormatting
With WrdDc.Application.Selection.Find
.Text = FlName
.Replacement.Text = TaInFld
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
WrdDc.Application.Selection.Find.Execute Replace:=wdReplaceAll
По идее, должен заменять этот тект он, но из среды VB6 не заменяет:{ . Извечный вопрос: что делать? Help!!!
Всё, практически решил. В шейпах текст надо заменять так:
Dim Wrd As New Word.Document
Dim WrdDc As Object
еыры - пыры
Dim Wrd As New Word.Document
Dim WrdDc As Object
тыры - пыры
For C = 1 To WrdDc.Shapes.Count
If Not (WrdDc.Shapes(C) Is Nothing) Then
If WrdDc.Shapes(C).TextFrame.HasText Then
If Left(Trim(WrdDc.Shapes(C).TextFrame.TextRange), Len(FlName)) = FlName Then
WrdDc.Shapes(C).TextFrame.TextRange = TaInFld
Exit For
End If
End If
End If
Next
У меня есть похожая задача, мне в тексте очень
часто приходится заменять текст вордАрт в простой, может кто то знает как это можно сделать с
помощью VBA?
Буду очень признателен!
Все мы когда то были чайниками...
Может кто посоветует литературу по VBA Word? с чего начать...
Доброй ночи, прошу прощение, но я на этом форуме недавно, для себя уже нашел очень моного полезного (плохо когда сам не можешь помчь, а только берешь)
У меня есть похожая задача, мне в тексте очень
часто приходится заменять текст вордАрт в простой, может кто то знает как это можно сделать с
помощью VBA?
Буду очень признателен!
Все мы когда то были чайниками...
Может кто посоветует литературу по VBA Word? с чего начать...
Когда я искал решение моей задачи, сталкивался с какими-то описаниями объектов Word Art. Простотри методы объекта ActiveDocument.Selection.Shapes - Там есть какой-то дочерний объект, у которого, в свою очередь. есть свойства и методы работы с Word Art. К сожалению, конкретно сейсас не помню. а посмотреть не успеваю. Погляди - там точнео это есть. Только, аналогично тому. как я проверяю наличие текста в Shapes, проверяй и там текст.
постараюсь сам разобраться.
Хорошо когда занаешь направление в котором нужно двигаться, и осознаешь, что это не тупик.
Результаты сообщу ... если они будут.
Гм, прошу прощение за навязчивост ( сколько раз мама в детсве говорила... УЧИ АНГЛИЙСКИЙ!!!)
Вот что накопал в справке VBA
--------------
PresetTextEffect Property
Returns or sets the style of the specified WordArt. The values for this property correspond to the formats in the WordArt Gallery dialog box (Insert menu), numbered from left to right, top to bottom. Read/write
Remarks
Setting the PresetTextEffect property automatically sets many other formatting properties of the specified shape.
Example
This example sets the style for all WordArt on myDocument to the first style listed in the WordArt Gallery dialog box.
Set myDocument = ActiveDocument
For Each s In myDocument.Shapes
If s.Type = msoTextEffect Then
s.TextEffect.PresetTextEffect = msoTextEffect1
End If
Next
--------
Соображаю что этим методом можно переделать из ВордАрта в обычный текст, но вот как ???
Пасибо большое ...
постараюсь сам разобраться.
Хорошо когда занаешь направление в котором нужно двигаться, и осознаешь, что это не тупик.
Результаты сообщу ... если они будут.
Гм, прошу прощение за навязчивост ( сколько раз мама в детсве говорила... УЧИ АНГЛИЙСКИЙ!!!)
Вот что накопал в справке VBA
--------------
PresetTextEffect Property
Returns or sets the style of the specified WordArt. The values for this property correspond to the formats in the WordArt Gallery dialog box (Insert menu), numbered from left to right, top to bottom. Read/write
Remarks
Setting the PresetTextEffect property automatically sets many other formatting properties of the specified shape.
Example
This example sets the style for all WordArt on myDocument to the first style listed in the WordArt Gallery dialog box.
Set myDocument = ActiveDocument
For Each s In myDocument.Shapes
If s.Type = msoTextEffect Then
s.TextEffect.PresetTextEffect = msoTextEffect1
End If
Next
--------
Соображаю что этим методом можно переделать из ВордАрта в обычный текст, но вот как ???
Немного погоди - сейчас не успеваю ответить.:{ Чуток попозже посмотрю это и напишу.
Немного погоди - сейчас не успеваю ответить.:{ Чуток попозже посмотрю это и напишу.
Извини, сейчас не успеваю посмотреть свойства Word Art. Поэтому даю примерный перевод текста справки, который ты сюда скинул:
PresetTextEffect Property
Свойство Текст Эффект
Returns or sets the style of the specified WordArt. The values for this property correspond to the formats in the WordArt Gallery dialog box (Insert menu), numbered from left to right, top to bottom. Read/write
Устанавливает или возвращает стиль выбранного WordArt(объекта). Переменные этого свойства сообщают формат диалоговому окну Word Art - галереи (суда по всему, объекту ВордАрт), которые (окна) нумеруются справа налево (тоесть, у тебя на странице 1 положенный на неё ВордАрт будет с номером 1 и т.д.) и по Top (расстоянию от верхнего края формы) (короче, по высоте)
Remarks
Примечания
Setting the PresetTextEffect property automatically sets many other formatting properties of the specified shape.
Установка заранее имеющихся в системе эффектов текста (свойства эффекта текста) автоматически может установить множество других свойств формата текста в выбранном шейпе (области - ну это там, где твой текст, в фиговине этой квадратной, которая его ограничивает)
Example
Пример
This example sets the style for all WordArt on myDocument to the first style listed in the WordArt Gallery dialog box.
Этот пример устанавливает стиль для всех объектов Ворд Арт в документе myDocument в стиль, который отображается первым в списке стилей диалогового окна ВордАрта
Set myDocument = ActiveDocument
Связвыает объект myDocument (видимо, ранее объявленный (можно объявить как Object)) с текущим активным документом
For Each s In myDocument.Shapes
If s.Type = msoTextEffect Then
s.TextEffect.PresetTextEffect = msoTextEffect1
End If
Next
В цикле проходит по всем шейпам в активном документе и устанавливает для них какой-то там текстовый эффект. S - тоже какой-то Object, или ActiveDocument.Shape(или из этой семейки), объявленный ранее.
Советую тебе попробовать поколдовать с дочерними свойствами и методами TextEffect - среди них, наверное, и находится метод установки текста в шейп Ворд Арт.