VBA復(fù)制粘貼時出現(xiàn)“類Worksheet的Paste方法無效”錯誤 | 您所在的位置:網(wǎng)站首頁 › 屬蛇女和屬豬男的相配嗎 › VBA復(fù)制粘貼時出現(xiàn)“類Worksheet的Paste方法無效”錯誤 |
VBA中進(jìn)行copy和paste的時候,無規(guī)律的出現(xiàn) “類Worksheet的Paste方法無效”錯誤然而每次debug的時候,都能正常通過懷疑是電腦太快,copy作還沒有完成,就直接運(yùn)行paste,導(dǎo)致paste出錯。所以在copy作后,sleep一小段時間,結(jié)果真的解決了問題。 代碼如下: 由于vba的wait方法只能是秒為單位,所以使用windows的api來自定義一個sleep函數(shù): ' windows api Private Declare Function timeGetTime Lib "winmm.dll" () As Long ' sleep(毫秒) Sub sleep(T As Long) Dim time1 As Long time1 = timeGetTime Do DoEvents Loop While timeGetTime - time1 < T End Sub然后在copy和paste的中間 sleep(100),具體sleep多少毫秒,可以調(diào)試下 With old_layout_sheet .Shapes.Range(getPictureShapeNames(old_layout_sheet)).Select Selection.Copy sleep 100 layout_doc.Activate With layout_doc.Sheets("sheet1") .Activate .Range("B6").Select .Paste Application.CutCopyMode = False End With End With當(dāng)然, 粘貼之后最好寫上Application.CutCopyMode = False用來清空剪貼板,避免剪貼板里邊存放太多內(nèi)容 |
CopyRight 2018-2019 實(shí)驗(yàn)室設(shè)備網(wǎng) 版權(quán)所有 |