|
3 / 3 / 0
Регистрация: 28.06.2014
Сообщений: 35
|
|
Excel Clipboard мониторинг, чтение22.04.2023, 19:58. Показов 1323. Ответов 9
Приветствую.
Задача состоит в том, что бы из Excel следить за буфером обмена Windows. И если текстовая составляющая буфера обмена меняется, сохранять ее в таблице. Прилагаю файл с примером кода. Для запуска нажать на кнопку, после чего, копирование текста в буфер обмена в различных приложениях будет последовательно попадать в ячейки таблицы. Что бы остановить выполнение кода, скопируйте в буфер обмена строку длинной в два символа. Пример почти рабочий). В цикле с интервалом в две секунды проверяется текст в буфере обмена, если проверка выявила разницу с прошлым разом, значит буфер обмена изменился и я заношу его в таблицу. Проблема в том, что при повторных обращениях к буферу обмена может вывалиться ошибка. Мутная ошибка -2147221040 (800401d0). Ничего толкового по ней я не нашел. Самое толковое что народ рекомендует, это перехватывать ее, ждать еще и снова ломиться к тексту в буфере обмена. Такое себе решение. Если в коде интервал обращения к буферу обмена уменьшить до секунды, то ошибка с высокой долей вероятности случиться при нескольких повторений копирования в буфер обмена. Если выставить интервал в 2 секунды, то вероятность вылета в ошибку очень низкая. Может можно все реализовать по другому, что бы не обращаться к буферу обмена каждую секунду а как то перехватывать событие изменения буфера обмена. или можно избежать ошибки? прошу помощи.
0
|
|
| 22.04.2023, 19:58 | |
|
Ответы с готовыми решениями:
9
Чтение изображения из Clipboard в PictureBox Clipboard (запись/чтение) массива структур
|
|
Часто онлайн
987 / 637 / 280
Регистрация: 09.01.2017
Сообщений: 2,080
|
||||||
| 22.04.2023, 21:45 | ||||||
|
Xalyf,
0
|
||||||
| 22.04.2023, 21:53 | |
|
Не по теме: Опять GPT?
0
|
|
|
3 / 3 / 0
Регистрация: 28.06.2014
Сообщений: 35
|
|
| 22.04.2023, 23:17 [ТС] | |
|
КостяФедореев,
причесал код, но проблему не решил. Так же валится в ошибку, если таймаут в одну секунду поставить. Прикладываю скрин и pdf файлик по которому я тестирую копирование в буфер обмена.
0
|
|
|
3 / 3 / 0
Регистрация: 28.06.2014
Сообщений: 35
|
|
| 22.04.2023, 23:54 [ТС] | |
|
в 14й строке исправляем 2 на 1, в 31й строке получаем ошибку, но не сразу а на какой то одной из повторных попытках прочесть буфер обмена.
0
|
|
| 23.04.2023, 15:17 | ||||||
Сообщение было отмечено Xalyf как решение
Решение
Из нюансов, если одновременно работать в Excel лучше данный файл запускать в отдельном процессе (Excel /x).
1
|
||||||
| 24.04.2023, 10:41 | |
|
Есть кросс на Планете
0
|
|
|
3 / 3 / 0
Регистрация: 28.06.2014
Сообщений: 35
|
|
| 24.04.2023, 13:51 [ТС] | |
|
testuser2, спасибо! Действительно рабочий код в такой компоновке.
Это был тестовый пример, очистка буфера попала из рабочего проекта. Там вначале очищаю буфер, что бы не попало в таблицу то что не планировалось в нее вносить. На соседском форуме мне предложили решение на WinAPI минуя DataObject. И это решение легло в мой алгоритм без каких либо модификаций самого алгоритма, и пофиксило проблему с вылетом в ошибку. Автор решения заявляет, что DataObject работает нестабильно. Вот ссылка на ветку с решением https://www.planetaexcel.ru/fo... 1%82%D0%B8
0
|
|
| 24.04.2023, 14:27 | ||
|
Впрочем, API должна быть шустрее вариантов на DataObject и HTML.parentWindow.clipboardData (не тестил).
0
|
||
| 24.04.2023, 14:27 | |
|
Помогаю со студенческими работами здесь
10
Ошибка при работе с Clipboard: "Сannot open clipboard. Отказано в доступе." Вставка из clipboard Странности с clipboard Не работает clipboard :( Работа с Clipboard Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут
Суть:
- Группа наркоманов из 10 человек.
- Только один инфицирован ВИЧ.
- Колются одной иглой.
- Колются раз в день.
- Колются последовательно через. . .
|
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
|
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
|
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . .
а удачный момент так и не приходит.
|
|
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица.
Задача: зафиксировать три левых колонки в отчете.
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
/ / . . .
|
Настройки VS Code
Loafer 13.04.2026
{
"cmake. configureOnOpen": false,
"diffEditor. ignoreTrimWhitespace": true,
"editor. guides. bracketPairs": "active",
"extensions. ignoreRecommendations": true,
. . .
|
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2.
Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива.
Было так:. . .
|
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2.
Задача: реализовать контроль корректности заполнения дат назначения. . .
|