Запись буфера обмена в переменную - VBA

Узнай цену своей работы

Формулировка задачи:

Добрый вечер. Столкнулся с такой проблемой. Есть макрос копирования диапазона со всем содержимым. Содержимое диапазона постоянно меняется, а макрос работает по таймеру. Макрос при работе использует буфер обмена. Поэтому если я например копирую в буфер - текст в ворде 1.doc - а в это время в экселе - в очередной раз сработает макрос по таймеру: то все содержимое ворда, которое я скопировал - исчезнет из буфера обмена. И мне приходится копировать это содержимое заново. Скажите - как использовать для работы макроса эксель - такой стиль работы буфера обмена - записывать исходное содержимое буфера в переменную, а после выполнения макроса - возвращать из переменной это содержание - обратно в буфер обмена ? Таким образом - при работе с другими программами - работа макроса экселя будет незаметна и не будет доставлять помех.

Решение задачи: «Запись буфера обмена в переменную»

textual
Листинг программы
Sub Макрос1()
Dim s As Object
  With Range("F3:K18")
    Range("M3").Resize(.Rows.Count, .Columns.Count).Value(11) = .Value(11)
  End With
  For Each s In ActiveSheet.Shapes.Range(Array("Oval 4", "Рисунок 5"))
    With s.Duplicate
      .Left = s.Left + Range("M3").Left - Range("F3").Left
      .Top = s.Top + Range("M3").Top - Range("F3").Top
    End With
  Next
End Sub

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 4.077 из 5
Похожие ответы