Analogous Outlook code to read info into an array (or collection or whatever)

Post number 2 has been selected as the best answer.

Dr. Demento

Member
OS Version(s)
  1. Windows
Outlook version
Outlook 365 64 bit
Email Account
Office 365 Exchange
Operating system::    Win 11
Outlook version:     365
Email type or host:    365 Exchange

In Excel, you can copy a range into an array (Range.value = array), thereby removing the time/memory needed to constantly access the spreadsheet. Is there an analogous method to read email data (send, subject, to, body, attachments, etc) into a similar digital construct en masse as an Excel array so that each individual email doesn't need to be accessed.

It's probably important to note that most of these emails are digitally encrypted; if this isn't possible for encrypted email, is there a method for unencrypted emails??

Thanks much.
 
You can read the values into an array - but would need to touch each message to get the field(s) you need. Basically, get the values from each message field into a string - strSubject = olmail.subject & "," & strSubject. Then convert the finished string in to an array.
 
One possible approach would be to construct a Search Folder that includes the Items you're interested in. But Search Folders come with a few limitations on where they can pull Items from, so this may not work for you.

Once you have the Search Folder built, you can access the Items in the folder using the standard Outlook Items collection syntax. You can walk it with "For Each" or get an individual Item with "Items(n)".

e.g. With a Search Folder as the Active Explorer:

Code:
    Dim oFolder As Outlook.Folder
    Set oFolder = ActiveExplorer.CurrentFolder
    
    Dim Item As Object
    For Each Item In oFolder.Items
        Debug.Print Item.Subject
    Next Item
    
    Dim Items As Outlook.Items
    Set Items = oFolder.Items
    Dim Inx As Long
    For Inx = 1 To Items.Count
        Debug.Print Items(Inx).Subject
    Next Inx
 
If your selection criteria are dynamic then you could use a DASL Filter and Application.AdvancedSearch instead of a Search Folder to get a Results collection. (I find that DASL Filters can get pretty complex really quick and the syntax is abominable). A similar approach to get a subset of Items from a Folder (also using a DASL Filter) is to build a Table Object. The advantage here is that the Table Object looks to you like a two dimension array of Rows (Items) and Columns (Fields from the Item).
 
To build some DASL queries you can use the Outlook View Filter dialog on any View to build your query using the Filter tabs and then copy the DASL from the "SQL" tab. See these Slipstick articles:

Create views using SQL/DAVX filters
Using Query Builder

e.g. Using Query Builder
1733581287180.png
1733581304210.png


e.g. Using the Messages, More Choices, and Advanced tabs
1733581537193.png
1733581558721.png


1733581612545.png
1733581632908.png


1733581504485.png
 
And then there is Items.Restrict to dynamically filter a Folder's Items collection. (Sorry for all the separate post. Microsoft has so many ways to skin this cat, that every time I finish one post I remember another one). There is an overview of the different ways you can filter a single folder here. But for queries that span multiple folders you have to look at other methods.
 
On rereading your original post (and looking up how an Excel Range works) I think you want a Table.

"You can regard each row of a Table as an item in the folder, each column as a property of the item, and the Table as an in-memory lightweight rowset that allows fast enumeration and filtering of items in the folder. If you don't specify any filter, you'll obtain all the items in the folder."
 
Similar threads
Thread starter Title Forum Replies Date
C I don't understand Outlook or Microsoft, anymore Using Outlook 4
P My Feedback to Microsoft and their response; also New Outlook roadmap Using Outlook 0
A New Outlook - Cannot drag IMAP emails to Task List in MyDay Using Outlook 1
L Android Outlook Doesn't Update PC Notification Changes Using Outlook 0
A How to open Excel file saved in Outlook folder? Outlook VBA and Custom Forms 4
D.Moore Outlook desktop client suggested searches question Using Outlook 23
Y Outlook 2016 (64-bit) Copy Local Cal. Events to Another Cal. with Modified Reminder time Using Outlook 2
T Outlook 2019 While connecting an IMAP account in "classic" Outlook 2024 I caused a massive duplication of emails on the server (death loop) Using Outlook 5
D Cannot logon to Outlook.com, or outlook on Mac, outlook not updating on ipad, iphone Using Outlook 1
J unable to get my new install of Outlook to display mailboxes in the single-line format. Using Outlook 1
D Legacy Microsoft Outlook for Mac Support will end in Oct 2025 Using Outlook 5
C Nasty Bug Lurking In Outlook For Years. The Trigger. Any Fix Or Workaround? Using Outlook 11
R Auto clicking Hyperlink in outlook Outlook VBA and Custom Forms 7
ughlook Open multiple contacts in NEW Outlook? Using Outlook 3
G Outlook translation feature is off Using Outlook 2
J Outlook 2010 does not let me put any account Using Outlook.com accounts in Outlook 3
P 3 of 5 PST files don't install from d:\outlook but only from D:\ Using Outlook 7
HarvMan January Windows 10 preview update force installs new Outlook Using Outlook 1
L Outlook 2010 - new installation on Windows 11 - aplzod32.dll is not a valid Add-in Using Outlook 12
J Outlook troubleshooting/logging - option grayed out Using Outlook 2
B Arrows missing from Outlook emails vertical scrollbar Using Outlook 0
G Outlook 2021 (New) doesn't respect default browser Using Outlook 9
B Outlook or iPhone turning tabs into spaces in Outlook Notes Using Outlook 1
P newly installed Office 365 includes OLD Outlook Using Outlook 6
R Outlook ribbon menu default? Using Outlook 7
H Spam email in Gmail not visible in Outlook Using Outlook 3
J How to transfer Win 10 Outlook to new Windows 11 pc? Using Outlook 16
J Renegade spam URL line displayed in old local Outlook 365 email title Using Outlook 3
G Reduce whitespace in Outlook desktop Contact Cards display Using Outlook 3
C Outlook classic via 365 Using Outlook 2
S Repair Outlook Using Outlook 8
V Outlook Form ListBox is not editable Outlook VBA and Custom Forms 2
F Outlook's contacts Using Outlook 1
D Outlook 2003 stopped dead Using Outlook 2
G Cannot receive emails from gmail account in Outlook 365 Using Outlook 1
E "Cannot display the folder. MS Outlook cannot access the specified file location" Using Outlook 8
P Outlook 2016 Working Offline Using Outlook 2
Rupert Dragwater Cannot reestablish gmail (email address) account in Outlook 365 Using Outlook 11
O Outlook 365 synchronisieren Exchange Server Administration 1
kburrows Outlook Classic - JPG files are corrupted when opened or saved Using Outlook 3
F Sync Outlook Calendar Using Outlook 0
G Change default font size in sticky notes - Outlook Desktop 2021 Using Outlook 2
C VBA in "New Outlook?" Using Outlook 0
D New Outlook with Business Basic Plans Using Outlook 0
D Outlook 2021 not working with Outlook 2003 installed Using Outlook 5
D Outlook 2003 stopped working - get they dialog box asking for username & Password Using Outlook 2
T Outlook 2021 hangs in close on taskbar occasionally Using Outlook 1
M Duplicate removal feature in Outlook 2021 is faulty Using Outlook 2
D.Moore Outlook COM addins source folder Using Outlook 12
P Removing Outlook 365 Account from Send/Receive Using Outlook 3

Similar threads

Back
Top