Запись буфера обмена в переменную - 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
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д