28.09.2007, 10:51
общий
это ответ
Здравствуйте, Вольхин Олег Валерьевич!
1. Чистить буфер можно следующим образом:
==========================
Private Declare Function OpenClipboard Lib "user32" (ByVal hwnd As Long) As Long
Private Declare Function CloseClipboard Lib "user32" () As Long
Private Declare Function EmptyClipboard Lib "user32" () As Long
Sub ClearClipboard()
OpenClipboard Application.hwnd
EmptyClipboard
CloseClipboard
End Sub
============================
2. Как я понимаю - буфер обмена windows существует только один. 24 области буфера это программная реализация экселя - т.е. на уровне приложения, а не на уровне ОС. Последний элемент в буфере экселя и есть буфер windows. Т.о. нет возможности получить доступ ко всем областям из других приложений. Из других преиложений доступ можно получить только к последнему элементу. При очистке буфера с помощью API(пример выше) очищается только этот последний элемент.