Home |
Search |
Today's Posts |
#5
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Hi Jim
How about the below? (on a machine without outlook at the moment so can't unfortunately test it) Option Explicit Dim objOutlook As Object Dim objMailItem As Object Dim i As Integer Dim myCreatedEmails As Collection Sub CreateAndDisplayEmails() Set objOutlook = CreateObject("Outlook.Application") Set myCreatedEmails = New Collection For i = 1 To 3 Set objMailItem = objOutlook.CreateItem(0) With objMailItem .To = "Tester" & i .Subject = "Tester" & i End With myCreatedEmails.Add objMailItem, i Next i For i = 1 To myCreatedEmails.Count myCreatedEmails(i).Display Next i End Sub I'm not too sure if the Display method is going to work?! Help greatly appreciated. Jason. WhytheQ wrote: nice one Jim J Jim Thomlinson wrote: A couple of things wrong with that off the top of my head. 1. You are missing the "preserve" key word. Without that each time you redim all of the previous items stored in the array will be blown away. you probably want. ReDim Preserve myCreatedEmails(k) 2. An object reference requires the "Set" key word. set myCreatedEmails(k) = objMailItem Just curious. Why not use a collection, instead of a dynamic array. Ususally they are a bit more handy for storing groups of objects... dim colCreatedEmails as collection set colCreatedEmails as new collection colCreatedEmails.add objMailItem, "Some Unique Key" -- HTH... Jim Thomlinson "WhytheQ" wrote: I'm using the following code, with NO reference to outlook: Dim objOutlook As Object Dim objMailItem As Object Dim myCreatedEmails() As Object Sub CreateAndDisplayEmails() Set objOutlook = CreateObject("Outlook.Application") Erase myCreatedEmails For i = 1 To 3 Set objMailItem = objOutlook.CreateItem(0) With objMailItem .To = "Tester" & i .Subject = "Tester" & i End With ReDim myCreatedEmails(k) '##### falls down on next line ##### myCreatedEmails(k) = objMailItem k = k + 1 Next i For k = 1 To UBound(myCreatedEmails) myCreatedEmails(k).Display Next k End Sub ....I've marked where it already falls down and I assume even if this line is fixed then it'll fall down later on on the line "myCreatedEmails(k).Display" The above must be pretty bl##dy close!...can anyone help? Help appreciated Jason |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
Always display items AND Include hidden items in totals | Excel Discussion (Misc queries) | |||
xla creating new menu items | Excel Programming | |||
Dynamic PageField Items | Excel Programming | |||
Pivot Table calculated items with dynamic file source | Excel Programming | |||
Dynamic Selection of Pivottable Drop Down Items | Excel Programming |