Avatar of Mark Drelinger
Mark Drelinger
Flag for United States of America asked on

vb script - user defined type not defined.

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
         'msg.Display
         msg.Send
      End If
      rst.MoveNext
   Loop
   
ErrorHandlerExit:
   rst.Close
   Set rst = Nothing
   Set appOutlook = Nothing
   Exit Function

ErrorHandler:
   'Outlook is not running; open Outlook with CreateObject
   If Err.Number = 429 Then
      Set appOutlook = CreateObject("Outlook.Application")
      Resume Next
   Else
   If Err.Number = 287 Then
      Set appOutlook = CreateObject("Outlook.Application")
      Resume Next
   Else
      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.
VB ScriptMicrosoft OfficeVBA

Avatar of undefined
Last Comment
Mark Drelinger

8/22/2022 - Mon
ASKER CERTIFIED SOLUTION
Michael Pfister

THIS SOLUTION ONLY AVAILABLE TO MEMBERS.
View this solution by signing up for a free trial.
Members can start a 7-Day free trial and enjoy unlimited access to the platform.
See Pricing Options
Start Free Trial
GET A PERSONALIZED SOLUTION
Ask your own question & get feedback from real experts
Find out why thousands trust the EE community with their toughest problems.
Mark Drelinger

ASKER
thank you  - sorry for the delayed reply.
This is the best money I have ever spent. I cannot not tell you how many times these folks have saved my bacon. I learn so much from the contributors.
rwheeler23