Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 03.09.2007, 09:11   #1
SAndrus
Пользователь
 
Регистрация: 10.06.2007
Сообщений: 27
По умолчанию Отловить копирование на листе

Надо выполнить некоторые действия. При чем отловить все виды копирования. Спасибо.
SAndrus вне форума
Старый 03.09.2007, 21:19   #2
pashulka
Форумчанин
 
Регистрация: 03.11.2006
Сообщений: 524
По умолчанию

Если Вы хотите отловить копирование в / из буфер(а) обмена, сделанное в среде Excel, то Вы можете назначить всем горячим клавишам и стандартным командам, отвечающим за копирование, свой собственный макрос, который затем, по необходимости, и будет выполнять копирование.

Если же Вам нужно лишь отловить вставку скопированных значений, с использованием вышеупомянутых горячих клавиш или стандартных команд, то можно использовать одно из событий, а именно :

Код:
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
    If Application.CutCopyMode = xlCopy Then
       MsgBox "Копировать/Вставить", , ""
    End If
End Sub
Впрочем, необходимо признать, что оба способа не слишком надёжные, ибо в XL2000 появился собственный буфер обмена, манипуляции с которым, позволяют обходить все "ловушки"
pashulka вне форума
Старый 04.09.2007, 06:58   #3
SAndrus
Пользователь
 
Регистрация: 10.06.2007
Сообщений: 27
По умолчанию

А как я понял осложнение маркера размножения и перетаскивания с зажатым контролом не возможно жаль. Спасибо
SAndrus вне форума
Старый 04.09.2007, 20:20   #4
pashulka
Форумчанин
 
Регистрация: 03.11.2006
Сообщений: 524
По умолчанию

Подобным способом Вы не помещаете данные в буфер обмена, поэтому отловить это безобразие, вышеперечисленными способами Вам вряд ли удастся. Однако, можно в меню Сервис выбрать команду Параметры, затем выбрать закладку Правка и снять "флажок" Перетаскивание ячеек (Application.CellDragAndDrop = False) впрочем, эту опцию также легко и восстановить.
pashulka вне форума
Старый 05.09.2007, 12:29   #5
SAndrus
Пользователь
 
Регистрация: 10.06.2007
Сообщений: 27
По умолчанию

Огромное спасибо.
Это для удобства, а значит терпит.
SAndrus вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как отловить ошибку в своей проге ??? Crazyman Win Api 8 02.09.2008 09:24
Отловить нажатие кнопок Sanek_ntsk Паскаль, Turbo Pascal, PascalABC.NET 2 12.03.2008 17:38
Как отловить имена таблиц? mik Microsoft Office Excel 1 18.11.2007 17:02
Связь на конкретном листе Роня Microsoft Office Excel 4 13.11.2007 14:08
Отловить нажатие левой кнопки мыши на р листе SAndrus Microsoft Office Excel 2 14.07.2007 13:13