我的訪問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