Re: using SelectNamesDialog

Status
Not open for further replies.
R

RGFsdG9uX0w

Thank you Ken. I am looking for a solution also, and I see where your answer

is heading. What I am stuck on is how to execute the API functions you

suggested in the Access VBA module. Since the SelectAnmes dialog is modal,

the Access code exectuion stops at the call to .Display.

I'm sure I am overlooking something fairly simple here.
wrote:


> The dialog is modal to Outlook, not to all open windows. That's why you have
> to select Outlook to bring it to the front.

> You would have to get the window handle of that dialog using the
> FindWindow() Win32 API method. Then you'd have to set it to a topmost window
> if you want it in front of all other windows most likely using the
> SetWindowLong() Win32 API call.

> >

>

> "code_monkey_number_9" <code_monkey_number_9
> wrote in message news:F099BE2E-ABCA-4504-84C9-9121593DAF04@microsoft.com...
> > question about using the SelectNamesDialog when automating Outlook 2007
> > from
> > Access 2007: the MSDN Office Developer Center remarks that, for the
> > Display
> > method, "When displaying the Select Names dialog box, Display uses the
> > previous location and size (indicated by the top, left, width, and height)
> > of
> > the dialog box."
> > For me this means that when I display the box, it is consistently hidden
> > behind one or more other open windows. When I call the dialog from my
> > access
> > form, I have to click on the Outlook application (on the start bar) to
> > 'activate' outlook for the dialog to appear.
> > Is there a way to set the dialog's position and/ or focus?
> > Here's how I'm calling the dialog:
> > Dim olApp As Outlook.Application
> > Dim olNS As Outlook.Namespace
> > Dim olDialog As SelectNamesDialog
> > Dim olAddressList As AddressList
> > Dim olRecipient As Outlook.Recipient
> > Dim strTo As String
> > Dim x As Integer
> > Set olApp = CreateObject("Outlook.Application")
> > Set olNS = olApp.GetNamespace("MAPI")
> > Set olDialog = olNS.GetSelectNamesDialog
> > Set olAddressList = olNS.GetGlobalAddressList
> > With olDialog
> > .InitialAddressList = olAddressList
> > .SetDefaultDisplayMode olDefaultMeeting
> > If .Display Then
> > For Each olRecipient In .Recipients
> > x = x + 1
> > strTo = strTo & .Recipients(x) & "; "
> > Next
> > End If
> > End With
> > Me.Text12 = strTo
> > Set olApp = Nothing
> > Set olNS = Nothing
> > Set olDialog = Nothing
> > Set olAddressList = Nothing


>
 
Since the dialog is modal to Outlook and isn't present in the collection of

windows before you call Display, which displays the dialog modally, you can

try getting the main Outlook window first using FindWindow(), then making

that the top window and giving it focus before you call Display.

The main Outlook window (Explorer) has a class name of "rctrl_renwnd32",

the caption will vary depending on what folder you're in, but you can get

that from ActiveExplorer.Caption.

Once you have that information you have enough to use SetWindowLong() or

SetWindowPos() to set the Outlook window on top, then the dialog should

display on top of that window.

To make a window display at the top of the z-order you can use the HWND_TOP

argument, or to make it the topmost of all windows you can use HWND_TOPMOST.

You can get information on declaring and calling those Win32 API functions

from the MSDN library.

"Dalton_L" <Dalton_L> wrote in message

news:F68B5CE8-2653-431E-BF8F-34FD7B6A3FC9@microsoft.com...
> Thank you Ken. I am looking for a solution also, and I see where your
> answer
> is heading. What I am stuck on is how to execute the API functions you
> suggested in the Access VBA module. Since the SelectAnmes dialog is modal,
> the Access code exectuion stops at the call to .Display.

> I'm sure I am overlooking something fairly simple here.
 
Status
Not open for further replies.
Similar threads
Thread starter Title Forum Replies Date
H using VBA to edit subject line Outlook VBA and Custom Forms 0
e_a_g_l_e_p_i Need clarification on 2-Step Verification for Gmail using Outlook 2021 Using Outlook 10
e_a_g_l_e_p_i Outlook 2021 not letting me setup my Gmail using pop Using Outlook 1
Geldner Problem submitting SPAM using Outlook VBA Form Outlook VBA and Custom Forms 2
O How to find out the domain and server settings that my Outlook is using? Using Outlook 2
S Outlook 2019 Custom outlook Add-in using Visual Studio Outlook VBA and Custom Forms 0
D Outlook 2021 Using vba code to delete all my spamfolders not only the default one. Outlook VBA and Custom Forms 0
M using excel to sort outlook appointment items Outlook VBA and Custom Forms 4
R Advise on using multiple instances of network files based on customers Outlook VBA and Custom Forms 8
HarvMan Using Emojis in Outlook 365 Using Outlook 3
T Outlook 2019 Not Using Auto Compete After Deletion of 365 Using Outlook 1
M USING INITIALS AS RECIPIENTS Using Outlook 1
T Outlook 2019 Using Gmail aliases in Outlook Using Outlook 6
M Saving emails using Visual Basic - Selecting folder with msoFileDialogFolderPicker Outlook VBA and Custom Forms 6
Z Import Tasks from Access Using VBA including User Defined Fields Outlook VBA and Custom Forms 0
justicefriends How to set a flag to follow up using VBA - for addressee in TO field Outlook VBA and Custom Forms 11
M Extract "Date sent" from emails (saved to folder using drag and drop) Outlook VBA and Custom Forms 1
I Outlook for Mac 2019 using on desktop and laptop IMAP on both need help with folders Using Outlook 1
David McKay VBA to manually forward using odd options Outlook VBA and Custom Forms 1
H Stationery using between OL 2019 and OL 2010 Using Outlook 0
P Prevent Outlook 2016 from using DASL filter Using Outlook 4
O Calendar - Location: what happens when using my own way of entering locations Using Outlook 1
M Disable Contact Card Results when using "Search People" in Outlook Ribbon Using Outlook 7
K can't get custom form to update multiple contacts using VBA Outlook VBA and Custom Forms 3
S Outlook VBA How to adapt this code for using in a different Mail Inbox Outlook VBA and Custom Forms 0
pcunite Outlook 2019/O365 Build 13127.20408 errors when using MAPI calls Using Outlook 1
B Change Font and Font size using VBA Outlook VBA and Custom Forms 9
M Outlook 2013 reminder email by using Outlook vba Outlook VBA and Custom Forms 2
X Using Outlook 2013 and Outlook 365 Using Outlook 1
A Going to folder using shortcuts Using Outlook 3
A Outlook replies not using "delivered to" address in From Using Outlook 1
Terry Sullivan E-Mails Sent Using a Group Box Result in 70 Kickbacks Using Outlook 4
O Email not leaving Outbox when using Excel VBA to sync Outlook account Outlook VBA and Custom Forms 4
K Using Outlook 2016 to draw Using Outlook 1
O Outlook 365 - suddenly unable to send using Gmail POP3 Using Outlook 10
N Disable Auto Read Receipts sent after using Advanced Find Using Outlook 4
G Outlook 2016 sync contacts directly between phone and computer using outlook 2016 Using Outlook 0
L Moving emails with similar subject and find the timings between the emails using outlook VBA macro Outlook VBA and Custom Forms 1
O Save attachments using hotkey without changing attributes Outlook VBA and Custom Forms 1
J Add an Attachment Using an Array and Match first 17 Letters to Matching Template .oft to Send eMail Outlook VBA and Custom Forms 2
A Edit subject - and change conversationTopic - using VBA and redemption Outlook VBA and Custom Forms 2
A Using or not using apostrophes in search terms has this changed? Using Outlook 0
O Office 365 using POP3 on both laptop and desktop Using Outlook 0
M Using field names to capture a data element Using Outlook 0
B Vba to monitor time to respond to emails using a shared mailbox Outlook VBA and Custom Forms 5
B Looking to get the Recipient email address (or even the "friendly name") from an email I am replying to using VBA Outlook VBA and Custom Forms 4
D Using a VBA Custom Form to Send Reoccurring Email Upon Task Completion Outlook VBA and Custom Forms 4
Z Adding dropdown list using custom form Outlook VBA and Custom Forms 7
O Using .OST and .PST mail thru different providers Using Outlook 5
N Open & Save VBAProject.Otm using VBA Code Outlook VBA and Custom Forms 1

Similar threads

Back
Top