Форум программистов
 
О проблемах, например, с регистрацией пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль.

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

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


Ответ
 
Опции темы
Старый 22.03.2020, 22:55   #1
Smagin1982
Новичок
Джуниор
 
Регистрация: 24.04.2017
Сообщений: 1
По умолчанию Как скопировать объект VBA

Добрый день, нужна помощь. Создаю макрос, который добавляет текстовое поле (надпись) из текста, который содержится на данной странице с удалением каждого 3 слова в тексте. Проблема в том, что переменная типа Range - Stext принимает диапазон выделенной страницы, при этом манипуляции в данном диапазоне влияют на основной текст в документе, хотя по идее должно изменяться свойство Selection.Text и основной текст не должен меняться.

Как правильно скопировать объект или как разделить эти переменные ? Спасибо.

'===========Макрос
Sub InsertTextBox()
Dim aShape As Shape
Dim counter As Long, y As Long
Dim Stext As Range

NumPages = ActiveDocument.ComputeStatistics(wd StatisticPages)

For i = 1 To NumPages Step 1

Selection.GoTo What:=wdGoToPage, Which:=wdGoToNext, Name:=i
Selection.GoTo What:=wdGoToBookmark, Name:="\page"
Set Stext = Selection.Range.Duplicate

Dim w As word.Range
For Each w In Stext.Words

If Not w.text Like "[А-Яа-яЁёA-Za-z]*" Then
GoTo metka_NextWord
End If

If counter = 3 Then
w.Delete
counter = 0
End If
counter = counter + 1
metka_NextWord:
Next

Set aShape = ActiveDocument.Shapes.AddTextbox _
(Orientation:=msoTextOrientationHor izontal, _
Left:=0, Top:=0, Width:=200, Height:=200)

With aShape
.TextFrame.TextRange = Stext.text
End With
Next i
End Sub
Smagin1982 вне форума Ответить с цитированием
Ответ

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
JSON положить объект в объект Dozent Общие вопросы Delphi 7 30.03.2015 13:57
Как один динамический объект скопировать в другой? i-programmer Visual C++ 1 22.03.2015 17:12
Как сделать так, чтобы при наведении мышкой на объект, который находится под другим, этот объект выходил на первый план? Zaza7 HTML и CSS 3 17.01.2013 10:23
Шаблоны - нужно создать объект класса abc в котором вместо aa использовался бы объект класса fff? Farrel Общие вопросы C/C++ 2 13.11.2010 18:37
добавить в объект объект. the_deer_one Общие вопросы C/C++ 7 10.09.2010 12:17


Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru
Пеллетный котёл Emtas
котлы EMTAS