Prezados,
Estou tendo problemas de interrupção durante a execução do meu código responsável por copiar e colar imagens e textos de um documento para outro.
No momento da interrupção, uma msg "Falha no comando" é apresentada. Mas como este erro é muito genérico, tudo me leva a crer que o problema seja o volume de informação salvos em memória.
já busquei e tentei inumeros comandos para limpar todo o histórico de clipboard ("Clear All"), mas nenhum funciona corretamente.
Apresento abaixo os comandos já utilizados:
Option Explicit
' Declarações das funções da API do Windows para o clipboard
#If VBA7 Then
Declare PtrSafe Function OpenClipboard Lib "user32" (ByVal hwnd As LongPtr) As Long
Declare PtrSafe Function EmptyClipboard Lib "user32" () As Long
Declare PtrSafe Function CloseClipboard Lib "user32" () As Long
#Else
Declare Function OpenClipboard Lib "user32" (ByVal hwnd As Long) As Long
Declare Function EmptyClipboard Lib "user32" () As Long
Declare Function CloseClipboard Lib "user32" () As Long
#End If
Sub LimparClipboard()
' Abre o clipboard
Dim result As Long
result = OpenClipboard(0&)
' Verifica se o clipboard foi aberto com sucesso
If result = 0 Then
MsgBox "Não foi possível abrir o clipboard.", vbExclamation
Exit Sub
End If
' Limpa o conteúdo do clipboard
result = EmptyClipboard()
' Verifica se o clipboard foi limpo com sucesso
If result = 0 Then
MsgBox "Não foi possível limpar o clipboard.", vbExclamation
End If
' Fecha o clipboard
result = CloseClipboard()
End Sub
Public Sub ClearClipboard()
Dim oData As New DataObject 'object to use the clipboard
oData.SetText Text:=Empty 'Clear
oData.PutInClipboard 'take in the clipboard to empty it
End Sub
Sub ClipboardClear()
' using the relevant declarations
OpenClipboard (0&)
EmptyClipboard
CloseClipboard
End Sub
Algúme pode me ajudar a resolver este problema?