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
Pergunta
Lrossan
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?
Editado por LrossanLink para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.