У меня есть форма окна, которая добавляет изображения в буфер обмена для целей обработки, затем, когда я пытаюсь очистить буфер обмена, я все равно вижу изображения в своем буфере обмена, если я иду в Excel.Почему не очищается?
Dim xlsApp1 As Object
Dim xlsWB As Object
Dim xlsSheet As Object
xlsApp1 = CreateObject("Excel.Application")
xlsWB = xlsApp1.Workbooks
xlsApp1.DisplayAlerts = False
xlsWB.Open("myexcel")
xlsSheet = xlsApp1.ActiveSheet
For Each xlsShape As Excel.Shape In xlsSheet.Shapes
xlsShape.Copy()
If xlsShape.Name = "Picture 1" Then
'process the image
End If
next
xlsWB.Close()
xlsApp1.Quit()
Try
Marshal.ReleaseComObject(xlsSheet)
Marshal.ReleaseComObject(xlsWB)
Marshal.ReleaseComObject(xlsApp1)
xlsSheet = Nothing
xlsWB = Nothing
xlsApp1 = Nothing
Catch ex As Exception
xlsSheet = Nothing
xlsWB = Nothing
xlsApp1 = Nothing
Finally
GC.Collect()
GC.WaitForPendingFinalizers()
GC.Collect()
GC.WaitForPendingFinalizers()
End Try
Clipboard.Clear()
Clipboard.SetDataObject(0)
'but still see it in the clipboard.
'close excel ect.....