question regarding ruby & outlook MAPI

  • Follow


Hello list:

I am accessing outlook with ruby through a MAPI connection. I have
created a folder through OWA called 'archive'. My goal is to process
the message and then move it into this folder. I am trying to find out
how to 'set' or reference this folder in the code. I have been
unsuccessful and thought I would reach out to see if anyone can point
me in the right direction... example of my code:

ol = WIN32OLE.new('Outlook.Application')
class OC; end
WIN32OLE.const_load(ol, OC)
mapi = ol.GetNameSpace('MAPI')
inbox = mapi.GetDefaultFolder(OC::OlFolderInbox)
items = inbox.items
items.sort('ReceivedTime', OC::OlAscending)

### parse message and move to archive folder
items.each do |message|
	if message.UnRead
		puts "This message is unread!"
		###parse message
		message.Move(archive_folder)
	else
		puts "Nothing to process.... ")
	end
end


I am not quite sure how to set the folder I created called 'archive'.
does anyone have any ideas how I would set this in a variable somehow,
so I can reference like so:
archive_folder = mapi.Folders("archive") <-------(this does not work
BTW)

thank you in advance!
0
Reply john.fellers (4) 3/15/2012 7:06:55 PM

On Thursday, March 15, 2012 3:06:55 PM UTC-4, zerotrace wrote:
> Hello list:
> 
> I am accessing outlook with ruby through a MAPI connection. I have
> created a folder through OWA called 'archive'. My goal is to process
> the message and then move it into this folder. I am trying to find out
> how to 'set' or reference this folder in the code. I have been
> unsuccessful and thought I would reach out to see if anyone can point
> me in the right direction... example of my code:
> 
> ol = WIN32OLE.new('Outlook.Application')
> class OC; end
> WIN32OLE.const_load(ol, OC)
> mapi = ol.GetNameSpace('MAPI')
> inbox = mapi.GetDefaultFolder(OC::OlFolderInbox)
> items = inbox.items
> items.sort('ReceivedTime', OC::OlAscending)
> 
> ### parse message and move to archive folder
> items.each do |message|
> 	if message.UnRead
> 		puts "This message is unread!"
> 		###parse message
> 		message.Move(archive_folder)
> 	else
> 		puts "Nothing to process.... ")
> 	end
> end
> 
> 
> I am not quite sure how to set the folder I created called 'archive'.
> does anyone have any ideas how I would set this in a variable somehow,
> so I can reference like so:
> archive_folder = mapi.Folders("archive") <-------(this does not work
> BTW)
> 
> thank you in advance!

anyone have and advice on this, or can point me in the right direction? Your help is appreciated!
0
Reply john.fellers (4) 3/19/2012 2:03:28 PM


On Thursday, March 15, 2012 3:06:55 PM UTC-4, zerotrace wrote:
> Hello list:
> 
> I am accessing outlook with ruby through a MAPI connection. I have
> created a folder through OWA called 'archive'. My goal is to process
> the message and then move it into this folder. I am trying to find out
> how to 'set' or reference this folder in the code. I have been
> unsuccessful and thought I would reach out to see if anyone can point
> me in the right direction... example of my code:
> 
> ol = WIN32OLE.new('Outlook.Application')
> class OC; end
> WIN32OLE.const_load(ol, OC)
> mapi = ol.GetNameSpace('MAPI')
> inbox = mapi.GetDefaultFolder(OC::OlFolderInbox)
> items = inbox.items
> items.sort('ReceivedTime', OC::OlAscending)
> 
> ### parse message and move to archive folder
> items.each do |message|
> 	if message.UnRead
> 		puts "This message is unread!"
> 		###parse message
> 		message.Move(archive_folder)
> 	else
> 		puts "Nothing to process.... ")
> 	end
> end
> 
> 
> I am not quite sure how to set the folder I created called 'archive'.
> does anyone have any ideas how I would set this in a variable somehow,
> so I can reference like so:
> archive_folder = mapi.Folders("archive") <-------(this does not work
> BTW)
> 
> thank you in advance!



On Thursday, March 15, 2012 3:06:55 PM UTC-4, zerotrace wrote:
> Hello list:
> 
> I am accessing outlook with ruby through a MAPI connection. I have
> created a folder through OWA called 'archive'. My goal is to process
> the message and then move it into this folder. I am trying to find out
> how to 'set' or reference this folder in the code. I have been
> unsuccessful and thought I would reach out to see if anyone can point
> me in the right direction... example of my code:
> 
> ol = WIN32OLE.new('Outlook.Application')
> class OC; end
> WIN32OLE.const_load(ol, OC)
> mapi = ol.GetNameSpace('MAPI')
> inbox = mapi.GetDefaultFolder(OC::OlFolderInbox)
> items = inbox.items
> items.sort('ReceivedTime', OC::OlAscending)
> 
> ### parse message and move to archive folder
> items.each do |message|
> 	if message.UnRead
> 		puts "This message is unread!"
> 		###parse message
> 		message.Move(archive_folder)
> 	else
> 		puts "Nothing to process.... ")
> 	end
> end
> 
> 
> I am not quite sure how to set the folder I created called 'archive'.
> does anyone have any ideas how I would set this in a variable somehow,
> so I can reference like so:
> archive_folder = mapi.Folders("archive") <-------(this does not work
> BTW)
> 
> thank you in advance!

BUMP! anyone have any experience with this, or have encountered this in the past??
0
Reply john.fellers (4) 3/20/2012 4:28:49 PM

2 Replies
57 Views

(page loaded in 0.114 seconds)

Similiar Articles:






7/8/2012 4:36:49 PM


Reply: