Автор Тема: вставка скопированного текста в другой макрос  (Прочитано 420 раз)

Оффлайн Посетитель 21.10.2021

  • Посетитель форума
  • Сообщений: 2
Добрый день!
Задача простая, но почему-то миникод не работает..
Необходимо сначала, чтобы пользователь выделил часть текста в открытом документе (первый макрос), затем перевел курсор в другое место и выполнил второй макрос, который имеет статический текст, в который должна вставляться выделенная часть

Sub Макрос1()
'
    Selection.Copy
    DAT = Selection.Text
End Sub
Sub макрос2()
'
   Selection.Text = "(В редакции " + DAT + ")"
   Selection.Font.Italic = wdToggle
   Selection.Font.Color = wdColorBlue
   
End Sub

Оффлайн Администратор

  • Administrator
  • Сообщений: 2053
Написал вам письмо на почту с заголовком "Письмо с Форума по VBA, Excel и Word". Написал именно на почту, а не на форум.
Написал два письма.

Если переменная создана внутри процедуры, то она находится в памяти, пока работает эта процедура.
Чтобы переменная сохранилась после процедуры, нужно создать процедуру в модуле, вверху модуля.

Код
Private DAT

Sub Макрос1()
    Selection.Copy
    DAT = Selection.Text
End Sub

Sub макрос2()
   Selection.Text = "(В редакции " + DAT + ")"
   Selection.Font.Italic = wdToggle
   Selection.Font.Color = wdColorBlue
End Sub

Оффлайн Посетитель 21.10.2021

  • Посетитель форума
  • Сообщений: 2
Спасибо огромное!
Работало, а потом, видимо случайно удалилась строка