1 2 require 'win32ole' 3 4 outlook = WIN32OLE.new('Outlook.Application') 5 mapi = outlook.GetNameSpace('MAPI') 6 7 # Get list of available Address Lists 8 mapi.Session.AddressLists.each do |list| 9 puts list.Name 10 end 11 12 # Access an Address List: 13 address_list = mapi.Session.AddressLists('Contacts') 14 address_list = mapi.Session.AddressLists('Personal Address Book') 15 address_list = mapi.Session.AddressLists('Global Address List') 16 17 # Outlook security dialog will prompt to allow access to AddressEntries: 18 address_entries = address_list.AddressEntries 19 20 # Iterate over the AddressEntries collection: 21 address_entries.each do |address_entry| 22 if address_entry.Name =~ /Sinatra/ 23 puts address_entry.Name, address_entry.Address 24 end 25 end 26 27 # Search for an Address: 28 address_entry = address_entries.Item("sinatra, frank") 29 puts address_entry.Name 30 puts address_entry.Address
Further details can be found here.