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

Ваш аккаунт

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

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

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

Как сделать замену в документе Word?

266
27 ноября 2003 года
mhaturov
901 / / 23.10.2003
Есть документ. На нём лежат поля Тект (из графики 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!!!
266
27 ноября 2003 года
mhaturov
901 / / 23.10.2003
Цитата:
Originally posted by mhaturov
Есть документ. На нём лежат поля Тект (из графики 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

5.3K
27 ноября 2003 года
Bodgo
7 / / 22.11.2003
Доброй ночи, прошу прощение, но я на этом форуме недавно, для себя уже нашел очень моного полезного (плохо когда сам не можешь помчь, а только берешь)
У меня есть похожая задача, мне в тексте очень
часто приходится заменять текст вордАрт в простой, может кто то знает как это можно сделать с
помощью VBA?
Буду очень признателен!

Все мы когда то были чайниками...
Может кто посоветует литературу по VBA Word? с чего начать...
266
28 ноября 2003 года
mhaturov
901 / / 23.10.2003
Цитата:
Originally posted by Bodgo
Доброй ночи, прошу прощение, но я на этом форуме недавно, для себя уже нашел очень моного полезного (плохо когда сам не можешь помчь, а только берешь)
У меня есть похожая задача, мне в тексте очень
часто приходится заменять текст вордАрт в простой, может кто то знает как это можно сделать с
помощью VBA?
Буду очень признателен!

Все мы когда то были чайниками...
Может кто посоветует литературу по VBA Word? с чего начать...



Когда я искал решение моей задачи, сталкивался с какими-то описаниями объектов Word Art. Простотри методы объекта ActiveDocument.Selection.Shapes - Там есть какой-то дочерний объект, у которого, в свою очередь. есть свойства и методы работы с Word Art. К сожалению, конкретно сейсас не помню. а посмотреть не успеваю. Погляди - там точнео это есть. Только, аналогично тому. как я проверяю наличие текста в Shapes, проверяй и там текст.

5.3K
29 ноября 2003 года
Bodgo
7 / / 22.11.2003
Пасибо большое ...
постараюсь сам разобраться.
Хорошо когда занаешь направление в котором нужно двигаться, и осознаешь, что это не тупик.
Результаты сообщу ... если они будут.

Гм, прошу прощение за навязчивост ( сколько раз мама в детсве говорила... УЧИ АНГЛИЙСКИЙ!!!)
Вот что накопал в справке 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

--------
Соображаю что этим методом можно переделать из ВордАрта в обычный текст, но вот как ???



266
02 декабря 2003 года
mhaturov
901 / / 23.10.2003
Цитата:
Originally posted by Bodgo
Пасибо большое ...
постараюсь сам разобраться.
Хорошо когда занаешь направление в котором нужно двигаться, и осознаешь, что это не тупик.
Результаты сообщу ... если они будут.

Гм, прошу прощение за навязчивост ( сколько раз мама в детсве говорила... УЧИ АНГЛИЙСКИЙ!!!)
Вот что накопал в справке 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

--------
Соображаю что этим методом можно переделать из ВордАрта в обычный текст, но вот как ???





Немного погоди - сейчас не успеваю ответить.:{ Чуток попозже посмотрю это и напишу.

266
04 декабря 2003 года
mhaturov
901 / / 23.10.2003
Цитата:
Originally posted by mhaturov


Немного погоди - сейчас не успеваю ответить.:{ Чуток попозже посмотрю это и напишу.


Извини, сейчас не успеваю посмотреть свойства 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 - среди них, наверное, и находится метод установки текста в шейп Ворд Арт.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог