Vba set-frame语句中的类型不匹配
我正在尝试使用Microsoft Access中的Outlook视图控件。据我所知,这只能通过将其嵌入Microsoft Forms 2.0框架控件来使用 失败后,我从专家交换中心下载了一个运行良好的数据库。当我试图在数据库中复制它时,我收到了一个类型不匹配错误。然后,我从下载的数据库中导入了表单,该数据库工作正常,但当我在数据库中运行它时,我得到了相同的类型不匹配错误Vba set-frame语句中的类型不匹配,vba,ms-access,outlook,Vba,Ms Access,Outlook,我正在尝试使用Microsoft Access中的Outlook视图控件。据我所知,这只能通过将其嵌入Microsoft Forms 2.0框架控件来使用 失败后,我从专家交换中心下载了一个运行良好的数据库。当我试图在数据库中复制它时,我收到了一个类型不匹配错误。然后,我从下载的数据库中导入了表单,该数据库工作正常,但当我在数据库中运行它时,我得到了相同的类型不匹配错误 Private Sub Form_Open(Cancel As Integer) Dim MyFrame As Fr
Private Sub Form_Open(Cancel As Integer)
Dim MyFrame As Frame
Dim vc As viewctl
Set MyFrame = Me.Frame0.Object
Set vc = MyFrame!ViewCtl1
With vc
.Folder = "John Smith"
End With
End Sub
代码非常简单,但我无法理解导致问题的原因。已为Microsoft Forms 2.0对象库和Microsoft Outlook视图控件添加了引用。事实上,我和其他人一起下载了工作数据库中的所有参考资料
代码如下:
将MyFrame=Me.Frame0.Object设置为
错误13类型不匹配
文件夹名称是共享日历的名称
如果有人能帮助我,我将非常感激
我下载的数据库的链接是:
假设您指的是
Frame
引用MSForms类型,那么您可能需要完全限定它:
Dim MyFrame As MSForms.Frame
通常,完全限定名称可能存在于多个引用类型库中的类型是一个好习惯:如果存在
Access.Frame
,则它在解析顺序中具有更高的优先级(请参见“工具/引用”对话框中的库顺序),因此,不合格的Frame
将隐含Access.Frame
,因此类型不匹配。确保Frame
解析为正确的类型-如果Access.Frame
是一个事物(IDK),则它优先于MSForms.Frame
,因为Access
在引用优先级中更高(这是主机应用程序,所以你不能向下移动)。尝试将Dim MyFrame完全限定为MSForms.Frame
.Mathieu,这太棒了。非常感谢。它现在工作得非常好。酷!作为答案发布,如下-随时标记为已接受!