Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Как проверить, что это объект скопирован в буфер обмена? / 5 сообщений из 5, страница 1 из 1
10.05.2016, 09:00
    #39232077
puma_q
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как проверить, что это объект скопирован в буфер обмена?
Есть в Excel сгруппированный объект (созданный из Text Box-ов) с именем Group1. Этот объект копируется в буфер обмена. Как проверить, что это объект скопирован в буфер обмена?
...
Рейтинг: 0 / 0
10.05.2016, 10:39
    #39232135
puma_q
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как проверить, что это объект скопирован в буфер обмена?
Можно вообще определить тип данных в буфере обмена? Конкретно для моего случая?
...
Рейтинг: 0 / 0
10.05.2016, 11:11
    #39232171
Как проверить, что это объект скопирован в буфер обмена?
puma_qМожно вообще определить тип данных в буфере обмена? Конкретно для моего случая?С точки зрения пользователя - взять соответствующий инструмент и посмотреть (см. скриншот). С точки зрения программиста - изучить API для работы с буфером обмена плюс ещё несколько интерфейсов, получить дамп заинтересовавшего объекта в буфере обмена, провести сеанс реверс-инжиниринга для разбора его структуры (так как она, скорее всего, нигде не описана), и написать нужную программу.
...
Рейтинг: 0 / 0
11.05.2016, 10:07
    #39233064
puma_q
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как проверить, что это объект скопирован в буфер обмена?
Несколько вопросов:
1. Почему если копировать кодом ячейки, то командой очисти буфера (Application.CutCopyMode = False) его можно очистить:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
Sub Макрос3()
Application.CutCopyMode = False
Range("G7").Copy
If CountClipboardFormats = 0 Then MsgBox "Пуст" Else MsgBox "Полон"
Application.CutCopyMode = False
If CountClipboardFormats = 0 Then MsgBox "Пуст" Else MsgBox "Полон"
End Sub



а если я кодом копирую объект, то командой очисти буфера (Application.CutCopyMode = False) его нельзя очистить:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
Sub Макрос4()
Application.CutCopyMode = False
ActiveSheet.Shapes.Range(Array("group1")).Select
Selection.Copy
If CountClipboardFormats = 0 Then MsgBox "Пуст" Else MsgBox "Полон"
Application.CutCopyMode = False
If CountClipboardFormats = 0 Then MsgBox "Пуст" Else MsgBox "Полон"
End Sub
...
Рейтинг: 0 / 0
11.05.2016, 11:31
    #39233149
Как проверить, что это объект скопирован в буфер обмена?
puma_q,

как работает Application.CutCopyMode - это науке неизвестно спрашивайте MS.
Чтобы очистить обмена сделайте OpenClipboard: EmptyClipboard: CloseClipboard.
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Как проверить, что это объект скопирован в буфер обмена? / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]