某属性或方法不得包括作为参数或返回值(错误 98)的私有对象的引用

不能将私有对象传递到项目以外。 该错误可能的原因如下(这些都是被禁止的):

  • 客户端调用了一个进程外组件的属性或方法且试图作为一个参数传递对私有对象的引用。 客户端调用了一个进程外组件的属性或方法且该组件试图返回对私有对象的引用,或试图向 ByRef 参数分配一个这样的引用。

  • 进程外组件对其客户端调用了一个回调方法并尝试传递对私有对象的引用。

  • 进程外组件试图将对私有对象的引用作为它所引发的事件的参数传递。

  • 客户端试图向它所处理的事件的 ByRef 参数分配一个私有对象引用。

请注意,尽管 Visual Basic 阻止您跨进程传递对非可视化私有对象的引用,但某些情况下 Visual Basic 无法检测到此错误,因此无法阻止它。 私有对象设计的初衷不是在项目外使用。 如果您将它们传递给客户端,则可能会危及程序的稳定性和导致与后续版本的 Visual Basic 不兼容。 如果需要向客户端传递您自己的私有类,请将 Instancing 属性设置为除 Private 以外的某个值。 有关其他信息,选择有问题的项并按 F1(在 Windows 中)或 HELP(在 Macintosh 上)。

支持和反馈

有关于 Office VBA 或本文档的疑问或反馈? 请参阅 Office VBA 支持和反馈,获取有关如何接收支持和提供反馈的指南。