无法获得oleobject类的对象属性

时间:2016-03-03 16:19:35

标签: excel vba excel-vba

我正在尝试将excel项目从Office 2003迁移到Office 2010,并且我一直在遇到错误,试图解决它们我不会出现错误:

Unable to get Object Property of OleObjects Class

生成此错误的行位于SrcContainer = pTitleSheet.OLEObjects(1),其中pTitleSheet是一个microsoft excel对象,其代码如下:

Option Explicit

Private Sub MasterTitleBox_BeforeContextMenu(ByVal x As Long, ByVal y As Long, ByVal Menu As OWC11.ByRef, ByVal Cancel As OWC11.ByRef)
  'MsgBox CStr(x) + " " + CStr(y)
  Cancel = True

End Sub

我不知道如何调试错误或找出为什么它无法在Office 2003中运行代码时找到OLEObject。

我还有问题,我看不到上面发布代码的对象,这意味着我没有选择“查看对象”看截图: enter image description here

1 个答案:

答案 0 :(得分:0)

看起来工作表上没有OLEObjects。尝试在此之前查看pTitleSheet.OLEObjects.count

line SrcContainer = pTitleSheet.OLEObjects(1)  

它们可能已从ActiveX控件更改为工作表上的表单控件。

https://support.office.com/en-us/article/Overview-of-forms-Form-controls-and-ActiveX-controls-on-a-worksheet-15BA7E28-8D7F-42AB-9470-FFB9AB94E7C2#bmcontrols_on_the_forms_toolbar