我的访问vba代码已损坏,当我尝试complile代码,我得到编译错误:用户定义类型未定义。能否请你帮我,如果有任何事情出了毛病代码访问:vba代码无法编译
Option Compare Database
Public Function GetFolderByName(strFolderName As String, Optional objFolder As Outlook.MAPIFolder, Optional intFolderCount) As MAPIFolder
Dim objApp As Outlook.Application
Dim objNS As Outlook.Namespace
Dim colStores As Outlook.Folders
Dim objStore As Outlook.MAPIFolder
Dim colFolders As Outlook.Folders
Dim objResult As Outlook.MAPIFolder
Dim I As Long
On Error Resume Next
Set objApp = CreateObject("Outlook.Application")
Set objNS = objApp.GetNamespace("MAPI")
Set colStores = objNS.Folders
If objFolder Is Nothing Then
'If objFolder is not passed, assume this is the initial call and cycle through stores
intFolderCount = 0
For Each objStore In colStores
Set objResult = GetFolderByName(strFolderName, objStore, intFolderCount)
If Not objResult Is Nothing Then Set GetFolderByName = objResult
Next
Else
'Test to see if this folder's name matches the search criteria
If objFolder.Name = strFolderName Then
Set GetFolderByName = objFolder
intFolderCount = intFolderCount + 1
End If
Set colFolders = objFolder.Folders
'Cycle through the sub folders with recursive calls to this function
For Each objFolder In colFolders
Set objResult = GetFolderByName(strFolderName, objFolder, intFolderCount)
If Not objResult Is Nothing Then Set GetFolderByName = objResult
Next
End If
'If two or more folders exist with the same name, set the function to Nothing
If intFolderCount > 1 Then Set GetFolderByName = Nothing
Set objResult = Nothing
Set colFolders = Nothing
Set objNS = Nothing
Set objApp = Nothing
End Function
它结束了突出以下行公共功能GetFolderByName(strFolderName作为字符串,可选objFolder作为Outlook.MAPIFolder,可选intFolderCount)作为MAPIFolder
没有看到代码,这几乎是不可能的。 “你能修好我的代码吗?我不会费心去展示给你,但告诉我它有什么问题。” –
编译器强调它认为是“未定义”的用户定义类型。它突出什么? – HansUp
添加对Outlook运行时库的引用 – enderland