我有一個腳本,通過形狀的紙張循環,抓住圖像屬性爲picHeight
和picWidth
變量工作:錯誤處理程序不是「438運行時錯誤」
ws.Shapes(myImg.ID).Select
With Selection
killer = IsError(.ShapeRange.Height)
If IsError(.ShapeRange.Height) = True Then
GoTo badShape
End If
PicHeight = .ShapeRange.Height
PicWidth = .ShapeRange.Width
End With
有時候形狀不是圖片(在圖紙上也有圖表和文本框),VBA會一直拋出「438錯誤」(對象不支持此屬性或方法),即使添加了on error resume next
以及上面的錯誤處理程序。當選擇對象不具有.shaperange.height
或shaperange.width
屬性時會出現此問題。
看來VBA根本無法將代碼交給錯誤處理程序,因爲選擇中沒有選定的成員。
嘗試[this](http://stackoverflow.com/questions/3440735/vba-error-handling-not-working-in-excel/3440789#3440789),看看是否有助於錯誤處理。 –
之前我已經碰到過,不幸的是這次不是這種情況。 –