Приветствую. Это третий форум, на котором я ищу помощь и поддержку. "Автоматизирую" рабочее место секретаря. Каждый день она получает пачку корреспонденции. И регистрирует ее в таблице путем внесения реквизитов документов в Excel. Процесс не быстрый. Можно было бы заплатить одному из многочисленных облачных сервисов, выгружать туда сканы и получать результат, но это не наш выбор). В итоге я придумал следующий алгоритм обработки входящей корреспонденции, который может существенно ускорить и сократить время работы секретаря. Во первых, пачка корреспонденции сканируется в PDF с распознаванием (OCR), так что в PDF файле присутствует текстовый слой. Во вторых секретарь открывает Excel таблицу с поддержкой макросов, в которой выполняется программный код. Программа следит за буфером обмена Windows (Clipboard) и как только видит изменения в текстовой составляющей буфера обмена, текст из буфера обмена помещается в ячейку таблицы Excel. Не нужно переключаться между приложениями. Просто быстро копировать нужные реквизиты документов и получать результат в виде таблицы Excel. Идея хороша. Ее можно распространить и на другие виды работ. Серфите в интернете, что то понравилось, скопировали и все уже там в таблице, вы не отвлекаетесь и дальше работаете с текстом. Просто подумайте об этом как много времени экономиться на многочисленных операциях копи паст с переключением между приложениями, выбора места вставки и сама вставка с последующим возвратом к исходному приложению, вот уже и ход мысли потерял. В общем написал пример, в котором каждую секунду читаю буфер обмена, как только буфер поменялся, вставляю в таблицу. Вроде ничего сложного, но при одном из последующих попыток прочтения буфера обмена лезет мутная ошибка (толкового решения найти не смог). Если увеличить интервал обращения к буферу обмена до двух секунд, то ошибка чтения буфера обмена становиться очень редкой. Но это не вариант, потому как за две секунды м буфер обмена можно обновить несколько раз, и тогда какой то фрагмент текста будет пропущен(. Какие есть варианты? Первое, исправить код в представленном примере, что бы не было ошибки. Второе, поменять алгоритм и методы обращения к буферу обмена (можно как то отлавливать событие изменения clipboard, что бы не дергать его каждую секунду?). В представленном примере, нажмите на кнопку, запустится скрипт мониторинга буфера обмена, переключитесь на любое другое приложение и копируйте фрагменты текста, они будут последовательно попадать в таблицу Excel. Что бы остановить выполнение скрипта, скопируйте фрагмент текста длинной в два символа. Что бы вызвать ошибку чтения буфера обмена, исправьте в тексте скрипта таймаут с 2 на 1 секунду (там помечено) Помогайте братцы!