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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 02.03.2016, 13:47   #1
DBEER
Пользователь
 
Регистрация: 13.03.2014
Сообщений: 76
Вопрос Навеяно предыдущим топиком о Буфере обмена. Можно ли перехватить события "приКопированииВбуфер" и "приВставкеИзБуфера"?

В перечислении Events не нашел ничего подобного
DBEER вне форума Ответить с цитированием
Старый 02.03.2016, 16:30   #2
Вождь
Форумчанин
 
Аватар для Вождь
 
Регистрация: 29.09.2008
Сообщений: 378
По умолчанию

Если перехват, то можно так:
Код:
Sub EditPaste() ' перехват команды вставки
    ' ваш код
    ' ...
    Selection.Paste ' вставка
End Sub

Sub EditCopy() ' перехват команды копирования
    ' ваш код
    ' ...
    Selection.Copy ' копирование
End Sub
Макросы на заказ и готовый пакет - http://mtdmacro.ru/
Вождь вне форума Ответить с цитированием
Старый 02.03.2016, 17:21   #3
DBEER
Пользователь
 
Регистрация: 13.03.2014
Сообщений: 76
Хорошо О-о-ооо!!!!!

О, великий Вождь!
Да пошлют духи прерий удачи тебе и здоровья твоей Скво и твоиим Скво-рчатам!!
В твою честь снимем скальпы с пятнадцати врагов нашиз и с двадцати друзей!!
DBEER вне форума Ответить с цитированием
Старый 03.03.2016, 13:07   #4
Казанский
Старожил
 
Аватар для Казанский
 
Регистрация: 31.12.2010
Сообщений: 2,133
По умолчанию

Вождь, присоединяюсь к предыдущему оратору!
А какие еще существуют процедуры для перехвата? До сих пор я знал только autoopen() и autoclose().
Где можно про это почитать? Гугл по запросу word EditPaste ничего путного не выдает.
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
Казанский вне форума Ответить с цитированием
Старый 03.03.2016, 21:34   #5
Ципихович Эндрю
Старожил
 
Регистрация: 24.01.2011
Сообщений: 3,034
По умолчанию

вау нет слов
одним словом Edit
а разве это
Код:
Sub FilePrint()
'Этот код выполняется до печати, при нажатии сочетаний клавиш Контрол з\p

    MsgBox$ "FilePrint"

End Sub

Sub FilePrintDefault()
'Этот код выполняется до печати, если мышью кликнуть на Печать

    MsgBox$ "FilePrintDefault"

End Sub
не из этой же серии?
Ципихович Эндрю вне форума Ответить с цитированием
Старый 03.03.2016, 22:21   #6
AndVGri
Форумчанин
 
Регистрация: 10.02.2012
Сообщений: 109
По умолчанию

Доброе время суток
Цитата:
Где можно про это почитать?
Алексей, частично эта тема раскрывается Перехват "события" Paste в MS Word - VBA
В Word с 2007 список макрокоманд можно просмотреть вкладка "Разработчик", группа "Код", кнопка "Макросы", внизу диалога в раскрывающемся списке "Макросы из" выбрать "Команд Word". Похоже любая процедура, названная как и макрос Word будет вызываться. Осталось выяснить как, как дополнение к стандартной команде или как замещение.
AndVGri вне форума Ответить с цитированием
Старый 04.03.2016, 00:04   #7
Казанский
Старожил
 
Аватар для Казанский
 
Регистрация: 31.12.2010
Сообщений: 2,133
Хорошо

AndVGri, попробовал несколько команд - вызываются далеко не все, но похоже из группы Edit... вызываются.

Интересная инфа - до этого я думал, что Ворд практически закрыт с точки зрения событий, по сравнению с Excel, а тут такое!
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
Казанский вне форума Ответить с цитированием
Старый 04.03.2016, 00:22   #8
Ципихович Эндрю
Старожил
 
Регистрация: 24.01.2011
Сообщений: 3,034
По умолчанию

так там они оказываются все собрались...
и тогда интересно какая разница между FileFind и EditFind?
Ципихович Эндрю вне форума Ответить с цитированием
Старый 06.03.2016, 20:09   #9
Вождь
Форумчанин
 
Аватар для Вождь
 
Регистрация: 29.09.2008
Сообщений: 378
По умолчанию

Перехватить можно практически все действия пользователя. Потому как, почти всем им, есть соответствующие команды Word. Достаточно свой макрос назвать как команду Word. Только это подмена, а не перехват, и придется организовать выполнение "перехваченного" макросом, как в моем примере выше. Список команд есть в диалоге Макросы (Alt+F8). Я делал списки команд для всех версий Word, лежат на моем сайте (раздел Инструкции > Команды).
Макросы на заказ и готовый пакет - http://mtdmacro.ru/
Вождь вне форума Ответить с цитированием
Старый 06.03.2016, 23:45   #10
Ципихович Эндрю
Старожил
 
Регистрация: 24.01.2011
Сообщений: 3,034
По умолчанию

спасибо за инфу, а противоположность есть ни перед, а после, выделения например, спасибо
Ципихович Эндрю вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Для заданной строки определить все входящие в неё символ. Например: строка "abccbbabbac" состоит из символов "a", "b" и "c" Sandakan01 Помощь студентам 1 24.02.2016 03:20