Я хотел бы запустить определенную процедуру (макрос), когда пользователь пытается вставить изображение на листе моей книги.Перехватить событие «Вставить» в общую книгу и запустить макрос
Если пользователь просто вставляет простой текст в лист книги, не имеющей общего доступа, я мог бы легко обнаружить событие через Workbook_SheetChange
Worksheet_Change
(с некоторыми трюками, чтобы понять, что это «Вставить», событие, а не простой ввод текста вручную).
Однако здесь сложность добавляется двумя факторами:
- Если я вставить изображение, событие
Worksheet_Change
не срабатывает даже тогда, когда книга не разделяет; - В общих книгах невозможно вставить изображения. Следовательно, собственный код Excel, похоже, прекращает действие еще до того, как событие может быть обнаружено.
Есть ли у кого-нибудь идеи (даже если Windows API перехватывает действия с буфером обмена)?
не знаю, будет ли это работать для вас, но посмотрите [ЗДЕСЬ] (https://siddharthrout.wordpress.com/2011/08/15/vba-excelallow-paste-special-only/) –