We help IT Professionals succeed at work.
Get Started

vb script - user defined type not defined.

Last Modified: 2019-12-12
vb error started after Office 2010 upgrade. "User Defined Type not Defined".
Function EMailAlerts()
'Created by Helen Feddema 31-Oct-2009
'Last modified by Helen Feddema 31-Oct-2009

On Error GoTo ErrorHandler

   Dim dbs As DAO.Database
   Dim rst As DAO.Recordset
   Dim appOutlook As Outlook.Application (ERROR WAS POINTING TO THIS LINE)
   Dim msg As Outlook.MailItem
   Dim strEmail As String
   Set dbs = CurrentDb
   Set rst = dbs.OpenRecordset("qryExceptionList")
   Set appOutlook = GetObject(, "Outlook.Application")
   Do While Not rst.EOF
      strEmail = Nz(rst![EmailAddress]) & ";MarkDrelinger@SchmidtEquipment.com"
'      strEmail = "MarkDrelinger@SchmidtEquipment.com"
      If strEmail <> "" Then
         'Create email
         Set msg = appOutlook.CreateItem(olMailItem)
         msg.To = strEmail
         msg.Subject = "Machine Status or Location Change - Requested Alert"
         msg.Body = "Machine Status Change for Stock # " & (rst![StockNo]) & "." & vbCrLf & "Alert Requested by " & (rst![SubmittedBy]) & " on " & (rst![DateSubmitted]) & "." & vbCrLf & "Alert Comments: " & (rst![Comments]) & "." & vbCrLf
         msg.Body = msg.Body & vbCrLf & "Status changed from " & (rst![Original_Status_]) & " to " & (rst![New_Status_]) & vbCrLf
         msg.Body = msg.Body & "Branch changed from " & (rst![Original_Branch_]) & " to " & (rst![New_Branch_]) & vbCrLf
         msg.Body = msg.Body & vbCrLf & "To view or edit Alert Settings, click: https://www.teamschmidt.com/WebApps2.0/EquipmentDataDetailsAlertEdit.asp?varID=" & (rst![ID]) & vbCrLf & "To view MIM Details, click: https://www.teamschmidt.com/WebApps2.0/EquipmentDataDetails.asp?varStockNo=" & (rst![StockNo])
         'Comment out next line and uncomment Send line
         'to send automatically
      End If
   Set rst = Nothing
   Set appOutlook = Nothing
   Exit Function

   'Outlook is not running; open Outlook with CreateObject
   If Err.Number = 429 Then
      Set appOutlook = CreateObject("Outlook.Application")
      Resume Next
   If Err.Number = 287 Then
      Set appOutlook = CreateObject("Outlook.Application")
      Resume Next
      MsgBox "Error No: " & Err.Number _
         & " in EMailAllContacts procedure" _
         & "; Description: " & Err.Description
      Resume ErrorHandlerExit
   End If
      End If
End Function

Open in new window

Please advise if you have an idea what would need to be changed.
Watch Question
This problem has been solved!
Unlock 1 Answer and 2 Comments.
See Answer
Why Experts Exchange?

Experts Exchange always has the answer, or at the least points me in the correct direction! It is like having another employee that is extremely experienced.

Jim Murphy
Programmer at Smart IT Solutions

When asked, what has been your best career decision?

Deciding to stick with EE.

Mohamed Asif
Technical Department Head

Being involved with EE helped me to grow personally and professionally.

Carl Webster
CTP, Sr Infrastructure Consultant
Ask ANY Question

Connect with Certified Experts to gain insight and support on specific technology challenges including:

  • Troubleshooting
  • Research
  • Professional Opinions
Did You Know?

We've partnered with two important charities to provide clean water and computer science education to those who need it most. READ MORE