如何在Excel VBA中使用Implements我正在嘗試為工程項(xiàng)目實(shí)現(xiàn)一些形狀并將其抽象出來用于一些常見功能,以便我可以使用通用程序。我正在嘗試做的是有一個(gè)調(diào)用的接口,cShape并擁有cRectangle并cCircle實(shí)現(xiàn)cShape我的代碼如下:cShape 接口Option ExplicitPublic Function getArea()End FunctionPublic Function getInertiaX()End FunctionPublic Function getInertiaY()End FunctionPublic Function toString()End FunctioncRectangle 類Option ExplicitImplements cShapePublic myLength As Double ''going to treat length as dPublic myWidth As Double ''going to treat width as bPublic Function getArea()
getArea = myLength * myWidthEnd FunctionPublic Function getInertiaX()
getInertiaX = (myWidth) * (myLength ^ 3)End FunctionPublic Function getInertiaY()
getInertiaY = (myLength) * (myWidth ^ 3)End FunctionPublic Function toString()
toString = "This is a " & myWidth & " by " & myLength & " rectangle."End FunctioncCircle 類Option ExplicitImplements cShapePublic myRadius As DoublePublic Function getDiameter()
getDiameter = 2 * myRadiusEnd FunctionPublic Function getArea()
getArea = Application.WorksheetFunction.Pi() * (myRadius ^ 2)End Function''Inertia around the X axisPublic Function getInertiaX()
getInertiaX = Application.WorksheetFunction.Pi() / 4 * (myRadius ^ 4)End Function''Inertia around the Y axis''Ix = Iy in a circle, technically should use same functionPublic Function getInertiaY()
getInertiaY = Application.WorksheetFunction.Pi() / 4 * (myRadius ^ 4)End FunctionPublic Function toString()
toString = "This is a radius " & myRadius & " circle."End Function問題是每當(dāng)我運(yùn)行我的測試用例時(shí),它都會(huì)出現(xiàn)以下錯(cuò)誤:編譯錯(cuò)誤:對(duì)象模塊需要為接口'?'實(shí)現(xiàn)'?'
如何在Excel VBA中使用Implements
GCT1015
2019-07-26 11:17:03