我有快速從閱讀剪貼板數據的問題。我有一個程序每秒將數據發送10次到剪貼板,現在在VBA中,我想要收回數據。使用VBA剪貼板快速閱讀
代碼IM:
Dim clipboard As MSForms.DataObject
Dim strContents As String
Set clipboard = New MSForms.DataObject
Do While True
clipboard.GetFromClipboard
strContents = clipboard.GetText
clipboard.Clear
Myfunc(strContents)
ThisApplication.StatusBarText = strContents 'debug
If Left(strContents, 1) = 9 Then Exit Sub 'end condition
Set clipboad = Nothing
sleep 100
Loop
End Sub
有問題:這個代碼是工作了約2秒,然後我得到錯誤: 數據對象:的getText 8007000E - 內存耗盡。 剪貼板數據不會停止。 Im每個循環清理對象。問題在哪裏?我在64位Windows 7,64位VBA應用程序,8演唱會內存。
第一個錯誤我發現:'設置clipboad = Nothing',這應該是下面的'Loop'。 「Myfunc(strContents)」的代碼在哪裏?不知道在這裏爲「睡眠100」計時,你應該「睡得少」,並檢查新的剪貼板內容是否與以前相同。 – PatricK