✨ Функции для работы с буфером обмена
🛠 Функция записи текста в буфер обмена:
🛠 Функция вставки текста из буфера обмена:
🛠 Функция очистки буфера обмена:
✅ Пример использования функций для работы с буфером обмена:
#VBA #ExcelVBA #БуферОбмена #ClipBoard
🛠 Функция записи текста в буфер обмена:
Function SetClipBoardText(ByVal Text As Variant) As Boolean
SetClipBoardText = CreateObject("htmlfile").parentWindow.clipboardData.SetData("Text", Text)
End Function
🛠 Функция вставки текста из буфера обмена:
Function GetClipBoardText() As String
On Error Resume Next
GetClipBoardText = CreateObject("htmlfile").parentWindow.clipboardData.GetData("Text")
End Function
🛠 Функция очистки буфера обмена:
Function ClearClipBoardText() As Boolean
ClearClipBoardText = CreateObject("htmlfile").parentWindow.clipboardData.clearData("Text")
End Function
✅ Пример использования функций для работы с буфером обмена:
Sub Primer()
Dim s As String
s = "Копирование текста из переменной в буфер обмена"
'Копируем текст в буфер обмена
SetClipBoardText (s)
'Вставляем текс из буфера обмена в ячейку "A1"
Range("A1") = GetClipBoardText
'Очищаем буфер обмена, если это необходимо
ClearClipBoardText
End Sub
#VBA #ExcelVBA #БуферОбмена #ClipBoard
🔄 Работа с буфером обмена в VBA Excel
✖️ До Windows 8 в VBA Excel работали с буфером обмена через объект DataObject. Но в Windows 8 метод DataObject.PutInClipboard не работает правильно: если открыт хотя бы один экземпляр Проводника (папка), в буфер обмена записываются два квадратика. ◽️◽️☹️
В Windows 10 метод DataObject.PutInClipboard я не проверял, а в Windows 11 он работает корректно. Как работать с буфером обмена через DataObject смотрите на сайте. 🚀
🔥 Для работы с буфером обмена можно использовать следующие функции:
📌 Пример:
💡 Ячейки и диапазоны ячеек копируем и вставляем по-старинке:
#VBA #ExcelVBA #ClipBoard #Range #БуферОбмена #Диапазон
✖️ До Windows 8 в VBA Excel работали с буфером обмена через объект DataObject. Но в Windows 8 метод DataObject.PutInClipboard не работает правильно: если открыт хотя бы один экземпляр Проводника (папка), в буфер обмена записываются два квадратика. ◽️◽️☹️
В Windows 10 метод DataObject.PutInClipboard я не проверял, а в Windows 11 он работает корректно. Как работать с буфером обмена через DataObject смотрите на сайте. 🚀
🔥 Для работы с буфером обмена можно использовать следующие функции:
'Функция записи текста в буфер обмена
Function SetClipBoardText(ByVal Text As Variant) As Boolean
SetClipBoardText = CreateObject("htmlfile").parentWindow.clipboardData.SetData("Text", Text)
End Function
'Функция вставки текста из буфера обмена
Function GetClipBoardText() As String
On Error Resume Next
GetClipBoardText = CreateObject("htmlfile").parentWindow.clipboardData.GetData("Text")
End Function
'Функция очистки буфера обмена
Function ClearClipBoardText() As Boolean
ClearClipBoardText = CreateObject("htmlfile").parentWindow.clipboardData.clearData("Text")
End Function
📌 Пример:
Sub Primer()
Dim s As String
s = "Копирование текста из переменной в буфер обмена"
'Копируем текст в буфер обмена
SetClipBoardText (s)
'Вставляем текс из буфера обмена в ячейку "A1"
Range("A1") = GetClipBoardText
'Очищаем буфер обмена, если это необходимо
ClearClipBoardText
End Sub
💡 Ячейки и диапазоны ячеек копируем и вставляем по-старинке:
Sub RangeCopyPaste()
'Копирование диапазона ячеек в буфер обмена
Range("A1:F5").Copy
'Вставка диапазона из буфера обмена на рабочий лист
ActiveSheet.Paste Range("A7")
'Очистка буфера обмена
Application.CutCopyMode = False
End Sub
#VBA #ExcelVBA #ClipBoard #Range #БуферОбмена #Диапазон
👍4