На одном из форумов программистов мне дали следующий макрос для Word, суть которого состоит в том, что любое изображение или текст попадая в буфер обмена автоматически вставляется в открытый документ Word, но макрос не работает. Может кто-нибудь найдет ошибку?.
Const IMAGE_BITMAP = 0
Const IMAGE_ICON = 1
Const CF_BITMAP = 2
Const IMAGE_ENHMETAFILE = 3
Private Declare Function OpenClipboard Lib "user32" (ByVal hwnd As Long) As Long
Private Declare Function CloseClipboard Lib "user32" () As Long
Private Declare Function IsClipboardFormatAvailable Lib "user32" (ByVal wFormat As Long) As Long
Private Sub LoadBitMap()
Dim FormatAvailable As Boolean
Dim cl As New DataObject
OpenClipboard 0&
' проверяем наличие необх. формата в буфере
FormatAvailable = IsClipboardFormatAvailable(CF_BITMAP)
CloseClipboard
' вставляем в док.
If FormatAvailable Then Selection.Paste
'чистим буфер
cl.SetText ""
cl.PutInClipboard
' проверяем каждые 5 сек.
Application.OnTime Now + TimeValue("00:00:5"), "LoadBitMap"
End Sub
Sub start() ' стартуем здесь
Application.OnTime Now + TimeValue("00:00:5"), "LoadBitMap"
End Sub
Ответить
|