Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations IamaSherpa on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Problem with code 1

Status
Not open for further replies.

DaiDreamer

Programmer
May 8, 2001
31
US
I have a problem with this code. It suppose to recieve a email and it checks the subject and if the subject is either "remove" or "registation" it add or removes the sender address to/from a database. For some reason it come up with an error here:

Dim objMessage as MAPI.Message

It says that there's an "unexpected end of statement"


Here's the whole code:

Option Explicit

' Database Variables
Dim objConn, ObjRS, strQuery
Dim strConnection
Dim strAddress, StrSubject

' Mail Variables
'Dim cdoSession, inbox, messages, message, msgID, i

Dim objMessage as MAPI.Message
Dim objMessages as MAPI.Messages
Dim objFolder as MAPI.Folder
Dim objSession as MAPI.Session

'Const adUseServer = 2
'Const adOpenKeyset = 1
'Const adCmdTable = 2
'Const adLockOptimistic = 3

Set objSession = CreateObject ("MAPI.Session");
objSession.logon
Set objFolder = objSession.Inbox
Set objMessages = objFolder.Messages
Set objMessageFilter= objMessages.Filter
objMessageFilter.Or= True
objMessageFilter.Subject="Remove"
objMessageFilter.Subject="Registration"
Set objMessage=objMessages.GetFrist

If objMessage Is Nothing Then
MsgBox "Folder is Empty"
else
'loop through other messages
Do While Not objMessage Is Nothing

strAddress= objMessage.Sender
strSubject = objMessage.Subject

'Set objConn = Server.CreateObject("ADODB.Connection")
'strConnection= "DSN=POCKETMOSAIC"
' objConn.Open strConnection
' strQuery= "SELECT PagerAddress FROM Users "
' strQuery= strQuery & "ORDER BY PagerAddress"

'if the pager address needs to be removed from the db
if strSubject = "Remove" then
MsgBox "remove"
' While not(objRS.EOF)
'if objRS("PagerNumber") = strAddress Then
' objRS.Delete
' MsgBox strAddress
'end if
' wend

'if the pager address need to be added to the db
Else StrSubject = "Registration" then
MsgBox "Add"
' objRS.AddNew
' objRS("PagerNumber")=strAddress

' objRS.Update
MsgBox strAddress

End if
Set objMessage= objMessage.GetNext
Loop
End if
' objRS.close
' objConn.close

Set objMessage = nothing
Set objMessages = nothing
Set objFolder= nothing
Set objSession = nothing
Set objRS = nothing
set objConn= nothing
MsgBox "Done!"

'cdoSession.Logoff
 
In order to declare objects in vbscript, it's a two step process -- what you have posted works in regular vb

Dim objMessage as MAPI.Message

should be

dim objMessage
set objMessage = server.createobject("MAPI.Message")

:)
Paul Prewett
 
I'm going to colour your code in the following way.
Blue = code unchanged
Red = updated by me code.


Option Explicit

' Database Variables
Dim objConn, ObjRS, strQuery
Dim strConnection
Dim strAddress, StrSubject

' Mail Variables
Dim cdoSession, inbox, messages, message, msgID, i
, objMessage, objMessages, objFolder, objSession, objMessageFilter

'Const adUseServer = 2
'Const adOpenKeyset = 1
'Const adCmdTable = 2
'Const adLockOptimistic = 3

Set objSession = CreateObject("MAPI.Session")
objSession.logon
Set objFolder = objSession.Inbox
Set objMessages = objFolder.Messages
Set objMessageFilter= objMessages.Filter
objMessageFilter.Or= True
objMessageFilter.Subject="Remove"
objMessageFilter.Subject="Registration"
Set objMessage=objMessages.
GetFirst

If objMessage Is Nothing Then
MsgBox "Folder is Empty"
else
'loop through other messages
Do While Not objMessage Is Nothing

strAddress= objMessage.Sender
strSubject = objMessage.Subject

'Set objConn = Server.CreateObject("ADODB.Connection")
'strConnection= "DSN=POCKETMOSAIC"
' objConn.Open strConnection
' strQuery= "SELECT PagerAddress FROM Users "
' strQuery= strQuery & "ORDER BY PagerAddress"

'if the pager address needs to be removed from the db
if strSubject = "Remove" then
MsgBox "remove"
' While not(objRS.EOF)
'if objRS("PagerNumber") = strAddress Then
' objRS.Delete
' MsgBox strAddress
'end if
' wend

'if the pager address need to be added to the db
Else
If StrSubject = "Registration" then
MsgBox "Add"
' objRS.AddNew
' objRS("PagerNumber")=strAddress

' objRS.Update
MsgBox strAddress

End if
Set objMessage= objMessage.GetNext
Loop
End if
' objRS.close
' objConn.close

Set objMessage = nothing
Set objMessages = nothing
Set objFolder= nothing
Set objSession = nothing
Set objRS = nothing
set objConn= nothing
MsgBox "Done!"

'cdoSession.Logoff


I hope this helps. Klae

You're only as good as your last answer!
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top