Страницы: 1
RSS
Можно ли используя VBA управлять буфером обмена Office
 
Существует буфер обмена Office, который хранит до 24 элементов, полученных после Ctrl+C. Находится он на ленте Глава - Буфер обмена.

Можно ли используя VBA управлять буфером обмена Office? Например. Узнать текущее количество элементов и в цикле вывести их все в текущую область документа.

Существует также  буфер обмена Windows, который мне возможно не подойдет.  Буфер обмена Windows отличается от буфера обмена Office, тем что он может хранить только один текстовый элемент. При попытке записать новый текстовый элемент, этот новый текстовый элемент замещает собой старый текстовый элемент.

Зачем мне это нужно? Собирая информацию, я копирую текст и картинки из разных источников. Я не хочу после каждого копирования переходить в word или excel для вставки. Мне нужно чтобы все то , что я скопировал либо само вставлялось в word, либо я буду накапливать некое их количество и одним нажатием все вставить в word.

 
Нельзя управлять
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Цитата
Tigss написал:
Буфер обмена Windows отличается от буфера обмена Office, тем что он может хранить только один текстовый элемент.
это и так и нет
https://www.planetaexcel.ru/forum/index.php?PAGE_NAME=message&FID=5&TID=121982&TITLE_SEO=121982-windows-clipboard-history&MID=1009088&tags=&q=%D0%B1%D0%BC%D0%B2+clipboard&FORUM_ID%5B0%5D=5&DATE_CHANGE=0&order=relevance&s=%D0%9D%D0%B0%D0%B9%D1%82%D0%B8#message1009088
но все равно не поможет.
По вопросам из тем форума, личку не читаю.
 
А может есть другие способы решения задачи? Без управления буфером обмена Office

Существует ли событие изменение буфера обмена? Чтобы при каждом изменении новое или старое содержание автоматически копировалось из буфера обмена в текущую область документа.

Еще вариант.
Использовать Application.OnTime чтобы периодически раз в секунду сравнивать текстовое содержание буфера обмена с предыдущим значением, и если есть изменение то копировать новое значение в переменную. Проблема в том, что я не знаю как такое реализовать для картинок. Можно ли средствами vba сравнить две картинки и понять это одна и та же картинка, или это разные картинки?  
 
Нельзя ни управлять, ни нормально достучаться до буфера обмена Excel. Аргументы, вроде "Но Excel-же это делает!" можете не приводить - Excel много чего еще делает, к чему нам доступа не дает.
Цитата
Tigss написал:
Можно ли средствами vba сравнить две картинки и понять это одна и та же картинка
можно, но это непросто и для этого надо неплохо подтянуть свои знания в области графических данных, т.к. есть еще и нюансы различные. Но это уже к текущей теме не относится.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Страницы: 1
Наверх