How to get Inspector or MailItem from wordEditor

Status
Not open for further replies.
T

Tom

Hi,

I am pretty new on Office Development with VBA/script. I appriciate any

suggestions and/or advices.

We have a project. The project is to check the URLs in the content of

emails. When user select a mail item in Outlook we grab all the URLs. If any

of them is dangerous then we will put notes to tell the user that this URL is

dangerous.

The project has 2 parts. The first part in C++ code. It gets the IDispatch

object from email inspector window. If the email editor is wordEditor then

let's just assume that the IDispatch object is a wordEditor object. The C++

code invoke javaScript function with wordEditor as parameter.

Another part is in javaScript. One of the function in javaScript take

wordEditor as parameter. This function will check the URLs in the wordEditor.

If any of any URL is dangerous then insert warning text around the URL.

The logic is from wordEditor we get myDocument =

wordEditor.Application.ActiveDocument. From myDocument we can get myRange =

myDocument.Range(0, 0); From myRange we call myEditor = myRange.Add(-1);

========================================

function CheckURLs(wordEditor)

{

var myDocument = wordEditor.Application.ActiveDocument;

var myRange = myDocument.Range(0, 0);

var myEditor = myRange.Add(-1); // it works fine on Outlook 2007 but not

2010

> ...

// unrelated code omited

> ...

}

========================================

Previously with Outlook 2007 there is no problem with the javaScript code

operated upon wordEditor. However in Outlook 2010 the problem line to Add(-1)

raise exception from javaScript. The exception does not give me much meaning.

So I wrote testing code in C++ with IDispatch::GetIDsOfNames(...) and

IDispatch::Invoke(...) to simulate the logic on javaScript. The exception now

gave me some hints - "This method is not available for the document is

read-only, can not check-in". I've tried some other ways to change content

with VBA/javaScript, finally I find a way to change it. Thanks Sue for

helping me solve the problem on "Can not change email body content on Outlook

2010". The VBA code is like:

=============================================

Sub test()

Dim ns As NameSpace

Dim Inbox As MAPIFolder

Dim Item As Object

Set ns = GetNamespace("MAPI")

Set Inbox = ns.GetDefaultFolder(olFolderInbox)

Set Item = Inbox.Items.Item(1)

Item.Body = "Test" & Item.Body

Item.Save

End Sub

=============================================

Now the problem is that the way I found to change the content using an obect

as MailItem. However the parameter passing to the javaScript is wordEdit. So

the question is that how to get the MailItem object from wordEditor?

Thanks in advance!

Tom
 
WordEditor is actually a Word.Document object you know, so

WordEditor.Application.ActiveDocument is redundant. It equates to

Document.Application.ActiveDocument.

If you have an Inspector, which you do to get WordEditor, why not just use

Inspector.CurrentItem to get the item in the Inspector, in this case a

MailItem? You can then use that object in your other code.

"Tom" <Tom> wrote in message

news:03C6160B-79D4-44AA-9BD2-842898490EA2@microsoft.com...
> Hi,

> I am pretty new on Office Development with VBA/script. I appriciate any
> suggestions and/or advices.

> We have a project. The project is to check the URLs in the content of
> emails. When user select a mail item in Outlook we grab all the URLs. If
> any
> of them is dangerous then we will put notes to tell the user that this URL
> is
> dangerous.

> The project has 2 parts. The first part in C++ code. It gets the IDispatch
> object from email inspector window. If the email editor is wordEditor then
> let's just assume that the IDispatch object is a wordEditor object. The
> C++
> code invoke javaScript function with wordEditor as parameter.

> Another part is in javaScript. One of the function in javaScript take
> wordEditor as parameter. This function will check the URLs in the
> wordEditor.
> If any of any URL is dangerous then insert warning text around the URL.

> The logic is from wordEditor we get myDocument =
> wordEditor.Application.ActiveDocument. From myDocument we can get myRange
> =
> myDocument.Range(0, 0); From myRange we call myEditor = myRange.Add(-1);

> ========================================
> function CheckURLs(wordEditor)
> {
> var myDocument = wordEditor.Application.ActiveDocument;
> var myRange = myDocument.Range(0, 0);
> var myEditor = myRange.Add(-1); // it works fine on Outlook 2007 but
> not
> 2010
> ....
> // unrelated code omited
> ....
> }
> ========================================

> Previously with Outlook 2007 there is no problem with the javaScript code
> operated upon wordEditor. However in Outlook 2010 the problem line to
> Add(-1)
> raise exception from javaScript. The exception does not give me much
> meaning.
> So I wrote testing code in C++ with IDispatch::GetIDsOfNames(...) and
> IDispatch::Invoke(...) to simulate the logic on javaScript. The exception
> now
> gave me some hints - "This method is not available for the document is
> read-only, can not check-in". I've tried some other ways to change content
> with VBA/javaScript, finally I find a way to change it. Thanks Sue for
> helping me solve the problem on "Can not change email body content on
> Outlook
> 2010". The VBA code is like:

> =============================================
> Sub test()
> Dim ns As NameSpace
> Dim Inbox As MAPIFolder
> Dim Item As Object

> Set ns = GetNamespace("MAPI")
> Set Inbox = ns.GetDefaultFolder(olFolderInbox)

> Set Item = Inbox.Items.Item(1)

> Item.Body = "Test" & Item.Body
> Item.Save
> End Sub
> =============================================

> Now the problem is that the way I found to change the content using an
> obect
> as MailItem. However the parameter passing to the javaScript is wordEdit.
> So
> the question is that how to get the MailItem object from wordEditor?

> Thanks in advance!

> Tom
>
 
Hi Ken,

Thank you for the help. I may not state the situation clearly before.

When user select a mail in Outlook, our C++ code get called first. In C++

code we call AccessibleObjectFromWindow(m_hWnd, (DWORD)OBJID_NATIVEOM,

IID_IDispatch, (void**)&pDispWindow);

Where m_hWnd has class "_WwG" which is Word window. The IDispatch object

returned is wordEditor. Then we pass the wordEditor as the parameter to

javaScript code. From MSDN help document I am not able to get Outlook

Inspector object by calling API AccessibleObjectFromWindow(...).

So now I assume that the possible solutions are that:

1. Get Inspector object as IDispatch* in C++ and create new javaScript code

funtion which takes Inspector as parameter.

2. Get Inspector object from wordEditor object in the javaScript code.

Any other suggestions?

Thanks

Tom
wrote:


> WordEditor is actually a Word.Document object you know, so
> WordEditor.Application.ActiveDocument is redundant. It equates to
> Document.Application.ActiveDocument.

> If you have an Inspector, which you do to get WordEditor, why not just use
> Inspector.CurrentItem to get the item in the Inspector, in this case a
> MailItem? You can then use that object in your other code.

> >

>

> "Tom" <Tom> wrote in message
> news:03C6160B-79D4-44AA-9BD2-842898490EA2@microsoft.com...
> > Hi,
> > I am pretty new on Office Development with VBA/script. I appriciate any
> > suggestions and/or advices.
> > We have a project. The project is to check the URLs in the content of
> > emails. When user select a mail item in Outlook we grab all the URLs. If
> > any
> > of them is dangerous then we will put notes to tell the user that this URL
> > is
> > dangerous.
> > The project has 2 parts. The first part in C++ code. It gets the IDispatch
> > object from email inspector window. If the email editor is wordEditor then
> > let's just assume that the IDispatch object is a wordEditor object. The
> > C++
> > code invoke javaScript function with wordEditor as parameter.
> > Another part is in javaScript. One of the function in javaScript take
> > wordEditor as parameter. This function will check the URLs in the
> > wordEditor.
> > If any of any URL is dangerous then insert warning text around the URL.
> > The logic is from wordEditor we get myDocument =
> > wordEditor.Application.ActiveDocument. From myDocument we can get myRange
> > =
> > myDocument.Range(0, 0); From myRange we call myEditor = myRange.Add(-1);
> > ========================================
> > function CheckURLs(wordEditor)
> > {
> > var myDocument = wordEditor.Application.ActiveDocument;
> > var myRange = myDocument.Range(0, 0);
> > var myEditor = myRange.Add(-1); // it works fine on Outlook 2007 but
> > not
> > 2010
> > ....
> > // unrelated code omited
> > ....
> > }
> > ========================================
> > Previously with Outlook 2007 there is no problem with the javaScript code
> > operated upon wordEditor. However in Outlook 2010 the problem line to
> > Add(-1)
> > raise exception from javaScript. The exception does not give me much
> > meaning.
> > So I wrote testing code in C++ with IDispatch::GetIDsOfNames(...) and
> > IDispatch::Invoke(...) to simulate the logic on javaScript. The exception
> > now
> > gave me some hints - "This method is not available for the document is
> > read-only, can not check-in". I've tried some other ways to change content
> > with VBA/javaScript, finally I find a way to change it. Thanks Sue for
> > helping me solve the problem on "Can not change email body content on
> > Outlook
> > 2010". The VBA code is like:
> > =============================================
> > Sub test()
> > Dim ns As NameSpace
> > Dim Inbox As MAPIFolder
> > Dim Item As Object
> > Set ns = GetNamespace("MAPI")
> > Set Inbox = ns.GetDefaultFolder(olFolderInbox)
> > Set Item = Inbox.Items.Item(1)
> > Item.Body = "Test" & Item.Body
> > Item.Save
> > End Sub
> > =============================================
> > Now the problem is that the way I found to change the content using an
> > obect
> > as MailItem. However the parameter passing to the javaScript is wordEdit.
> > So
> > the question is that how to get the MailItem object from wordEditor?
> > Thanks in advance!
> > Tom
> >


> .
>
 
A WordMail window has a class of "OpusApp", the same as any Word window. If

you have the caption of the WordMail window and that class name you should

be able to use FindWindow() to find the Inspector window and to get its

hWnd.

You're starting out backwards from where I usually work from.

I would handle all NewInspector() events on the Outlook.Inspectors

collection and as part of my instantiating a wrapper class for the new

Inspector I'd be getting the hWnd of the Inspector window that was opening.

I'd do that in the first Activate() event for the Inspector, when all the

properties are filled out (striong object reference).

From there I sometimes work down from that parent window (Inspector) to get

to "_WwG" using AccessibleObjectFromWindow(), if I need that hWnd or

something else from that OpusApp window.

"Tom" <Tom> wrote in message

news:510B3248-291F-498A-9231-93413A973CD7@microsoft.com...
> Hi Ken,

> Thank you for the help. I may not state the situation clearly before.

> When user select a mail in Outlook, our C++ code get called first. In C++
> code we call AccessibleObjectFromWindow(m_hWnd, (DWORD)OBJID_NATIVEOM,
> IID_IDispatch, (void**)&pDispWindow);

> Where m_hWnd has class "_WwG" which is Word window. The IDispatch object
> returned is wordEditor. Then we pass the wordEditor as the parameter to
> javaScript code. From MSDN help document I am not able to get Outlook
> Inspector object by calling API AccessibleObjectFromWindow(...).

> So now I assume that the possible solutions are that:
> 1. Get Inspector object as IDispatch* in C++ and create new javaScript
> code
> funtion which takes Inspector as parameter.
> 2. Get Inspector object from wordEditor object in the javaScript code.

> Any other suggestions?
> Thanks

> Tom
 
Hi Ken,

Thanks for pointing out the new direction for it. But I still get problem on

this one.

I can get the window handle by FindWindow with class name "OpusApp". And

both Outlook main window and this window have the same process id & thread

id. Also there is only one window has "OpusApp" class name. I've verified

these 2 conditions by Spy++ (just make things simple).

Then I call hr = AccessibleObjectFromWindow( hWnd, (DWORD)OBJID_NATIVEOM,

IID_IDispatch, (void**)&pDispWindow); But hr = E_FAIL and pDispWindow = NULL.

If I call hr = AccessibleObjectFromWindow( hWnd, (DWORD)OBJID_WINDOW,

IID_IDispatch, (void**)&pDispWindow); Then hr = S_OK. But pDispWindow is not

Inspector object. Because I call IDispatch::GetIDsOfNames for "Application"

failed - "Unknown name".

OLECHAR * szApplication = L"Application";

DISPID dspid;

> ...

hr = pDispWindow->GetIDsOfNames(IID_NULL, &szApplication, 1,

LOCALE_SYSTEM_DEFAULT, &dspid);

I've tested both with Outlook 2007 & 2010.

Tom
wrote:


> A WordMail window has a class of "OpusApp", the same as any Word window. If
> you have the caption of the WordMail window and that class name you should
> be able to use FindWindow() to find the Inspector window and to get its
> hWnd.

> You're starting out backwards from where I usually work from.

> I would handle all NewInspector() events on the Outlook.Inspectors
> collection and as part of my instantiating a wrapper class for the new
> Inspector I'd be getting the hWnd of the Inspector window that was opening.
> I'd do that in the first Activate() event for the Inspector, when all the
> properties are filled out (striong object reference).

> From there I sometimes work down from that parent window (Inspector) to get
> to "_WwG" using AccessibleObjectFromWindow(), if I need that hWnd or
> something else from that OpusApp window.

> >

>

> "Tom" <Tom> wrote in message
> news:510B3248-291F-498A-9231-93413A973CD7@microsoft.com...
> > Hi Ken,
> > Thank you for the help. I may not state the situation clearly before.
> > When user select a mail in Outlook, our C++ code get called first. In C++
> > code we call AccessibleObjectFromWindow(m_hWnd, (DWORD)OBJID_NATIVEOM,
> > IID_IDispatch, (void**)&pDispWindow);
> > Where m_hWnd has class "_WwG" which is Word window. The IDispatch object
> > returned is wordEditor. Then we pass the wordEditor as the parameter to
> > javaScript code. From MSDN help document I am not able to get Outlook
> > Inspector object by calling API AccessibleObjectFromWindow(...).
> > So now I assume that the possible solutions are that:
> > 1. Get Inspector object as IDispatch* in C++ and create new javaScript
> > code
> > funtion which takes Inspector as parameter.
> > 2. Get Inspector object from wordEditor object in the javaScript code.
> > Any other suggestions?
> > Thanks
> > Tom


> .
>
 
The results you are seeing are inconsistent with what normally is seen with

Outlook and WordMail.

In Outlook 2003 you would have 2 windows as seen in Spy++ that have a class

of "OpusApp". One is a behind the scenes Word window with a caption of a

null string. That remains no matter how many WordMail windows are open.

Then there's another window per open WordMail Inspector that also has a

class of "OpusApp", but it has the same caption as the mail item subject,

and that's the parent window that has a child window "_WwG".

In Outlook 2007 due to the changes in WordMail, and how Word isn't now

subclassed but instead a Word dll is used, you don't look for "OpusApp". The

Inspector window has a caption that includes the subject plus a class of

"rctrl_renwnd32". If the subject is "foobar" the caption usually will be

something like this "foobar - Message (HTML)".

Looking for an Inspector window with a class of "rctrl_renwnd32" is how you

find windows using the Outlook editor in Outlook 2003 and earlier.

The main Outlook window (Explorer) will have a class of "rctrl_renwnd32",

and the caption will be whatever folder name is current, something like

"Inbox - Microsoft Outlook". That applies to all versions of Outlook.

There shouldn't be any confusion between Explorer windows and WordMail

windows in any version of Outlook, the class names are always different.

Where I use AccessibleObjectFromWindow() is in VB6 code to get a safe

Word.Document object (WordEditor) from an Inspector window if I cannot use

Redemption to avoid security prompts for Outlook 2002 and 2003. I get the

Inspector window handle as I indicated above. Then I enumerate child windows

until I get the one I want, say "_WwG".

I do use a OBJID_NATIVEOM argument to AccessibleObjectFromWindow(), to get

the WordMail child window ultimately from the Inspector window where I

start. The UID I use with AccessibleObjectFromWindow() is for IDispatch.

Usually as part of finding my window I'll compare the rect of whatever

windows I'm getting to the rect of the Inspector to verify they are the same

windows.

If I need to start from scratch to try to find the Inspector window I'll

usually try GetForegroundWindow() first if the window is active and is

ActiveInspector. I'll also use FindWindow(), FindWindowEx(), GetClassName(),

GetWindowText(), GetWindowTextLength(), and GetWindowRect(). I also use

EnumWindows() and EnumChildWindows() with callbacks to get down to the

WordMail window from the top level Inspector window. There's a lot of Win32

API heavy lifting in cases like that.

"Tom" <Tom> wrote in message

news:6E329913-09AF-4BE9-B674-0E7B5C28818E@microsoft.com...
> Hi Ken,

> Thanks for pointing out the new direction for it. But I still get problem
> on
> this one.

> I can get the window handle by FindWindow with class name "OpusApp". And
> both Outlook main window and this window have the same process id & thread
> id. Also there is only one window has "OpusApp" class name. I've verified
> these 2 conditions by Spy++ (just make things simple).

> Then I call hr = AccessibleObjectFromWindow( hWnd, (DWORD)OBJID_NATIVEOM,
> IID_IDispatch, (void**)&pDispWindow); But hr = E_FAIL and pDispWindow =
> NULL.

> If I call hr = AccessibleObjectFromWindow( hWnd, (DWORD)OBJID_WINDOW,
> IID_IDispatch, (void**)&pDispWindow); Then hr = S_OK. But pDispWindow is
> not
> Inspector object. Because I call IDispatch::GetIDsOfNames for
> "Application"
> failed - "Unknown name".

> OLECHAR * szApplication = L"Application";
> DISPID dspid;
> ...
> hr = pDispWindow->GetIDsOfNames(IID_NULL, &szApplication, 1,
> LOCALE_SYSTEM_DEFAULT, &dspid);

> I've tested both with Outlook 2007 & 2010.

> Tom
 
Thanks Ken. The further discusion will go out of the scope of Outlook & VBA.

I am going to ask on Outlook general another one.

Tom
wrote:


> The results you are seeing are inconsistent with what normally is seen with
> Outlook and WordMail.

> In Outlook 2003 you would have 2 windows as seen in Spy++ that have a class
> of "OpusApp". One is a behind the scenes Word window with a caption of a
> null string. That remains no matter how many WordMail windows are open.

> Then there's another window per open WordMail Inspector that also has a
> class of "OpusApp", but it has the same caption as the mail item subject,
> and that's the parent window that has a child window "_WwG".

> In Outlook 2007 due to the changes in WordMail, and how Word isn't now
> subclassed but instead a Word dll is used, you don't look for "OpusApp". The
> Inspector window has a caption that includes the subject plus a class of
> "rctrl_renwnd32". If the subject is "foobar" the caption usually will be
> something like this "foobar - Message (HTML)".

> Looking for an Inspector window with a class of "rctrl_renwnd32" is how you
> find windows using the Outlook editor in Outlook 2003 and earlier.

> The main Outlook window (Explorer) will have a class of "rctrl_renwnd32",
> and the caption will be whatever folder name is current, something like
> "Inbox - Microsoft Outlook". That applies to all versions of Outlook.

> There shouldn't be any confusion between Explorer windows and WordMail
> windows in any version of Outlook, the class names are always different.

> Where I use AccessibleObjectFromWindow() is in VB6 code to get a safe
> Word.Document object (WordEditor) from an Inspector window if I cannot use
> Redemption to avoid security prompts for Outlook 2002 and 2003. I get the
> Inspector window handle as I indicated above. Then I enumerate child windows
> until I get the one I want, say "_WwG".

> I do use a OBJID_NATIVEOM argument to AccessibleObjectFromWindow(), to get
> the WordMail child window ultimately from the Inspector window where I
> start. The UID I use with AccessibleObjectFromWindow() is for IDispatch.

> Usually as part of finding my window I'll compare the rect of whatever
> windows I'm getting to the rect of the Inspector to verify they are the same
> windows.

> If I need to start from scratch to try to find the Inspector window I'll
> usually try GetForegroundWindow() first if the window is active and is
> ActiveInspector. I'll also use FindWindow(), FindWindowEx(), GetClassName(),
> GetWindowText(), GetWindowTextLength(), and GetWindowRect(). I also use
> EnumWindows() and EnumChildWindows() with callbacks to get down to the
> WordMail window from the top level Inspector window. There's a lot of Win32
> API heavy lifting in cases like that.

> >

>

> "Tom" <Tom> wrote in message
> news:6E329913-09AF-4BE9-B674-0E7B5C28818E@microsoft.com...
> > Hi Ken,
> > Thanks for pointing out the new direction for it. But I still get problem
> > on
> > this one.
> > I can get the window handle by FindWindow with class name "OpusApp". And
> > both Outlook main window and this window have the same process id & thread
> > id. Also there is only one window has "OpusApp" class name. I've verified
> > these 2 conditions by Spy++ (just make things simple).
> > Then I call hr = AccessibleObjectFromWindow( hWnd, (DWORD)OBJID_NATIVEOM,
> > IID_IDispatch, (void**)&pDispWindow); But hr = E_FAIL and pDispWindow =
> > NULL.
> > If I call hr = AccessibleObjectFromWindow( hWnd, (DWORD)OBJID_WINDOW,
> > IID_IDispatch, (void**)&pDispWindow); Then hr = S_OK. But pDispWindow is
> > not
> > Inspector object. Because I call IDispatch::GetIDsOfNames for
> > "Application"
> > failed - "Unknown name".
> > OLECHAR * szApplication = L"Application";
> > DISPID dspid;
> > ...
> > hr = pDispWindow->GetIDsOfNames(IID_NULL, &szApplication, 1,
> > LOCALE_SYSTEM_DEFAULT, &dspid);
> > I've tested both with Outlook 2007 & 2010.
> > Tom


> .
>
 
Status
Not open for further replies.
Similar threads
Thread starter Title Forum Replies Date
V How to find mailitem in the inspector is a brand new one Outlook VBA and Custom Forms 2
M Outlook 2010 How could I globally redesign an outlook template form/region/inspector template used to display mail lists or an individual mails? Outlook VBA and Custom Forms 0
B Auto Preview Attachment in Inspector Reading Pane Outlook VBA and Custom Forms 1
D help with Item/Inspector close event Outlook VBA and Custom Forms 1
T New Inspector word editor crash Outlook 2003 Outlook VBA and Custom Forms 3
A running code after the new inspector is visible Outlook VBA and Custom Forms 1
N Modal form is not properly working on inspector Outlook VBA and Custom Forms 10
K add a designed group into a existing inspector ribbon Outlook VBA and Custom Forms 7
E Accessing a Form Region from an Inspector Outlook VBA and Custom Forms 3
E Accessing a Form Region from an Inspector Outlook VBA and Custom Forms 3
T How to get Inspector object from Window handle Outlook VBA and Custom Forms 2
K Get Inspector Ptr In Outlook 2007. Outlook VBA and Custom Forms 3
S PR_MESSAGEFLAGS & Compose/Read - Inspector Outlook VBA and Custom Forms 4
S Error 287 on Inspector.Close() Outlook VBA and Custom Forms 4
K Buttons are added multiple times in New Inspector window Outlook VBA and Custom Forms 4
A active inspector in memory Outlook VBA and Custom Forms 1
B How to get the path from an outlook.Inspector Outlook VBA and Custom Forms 4
M How to get active inspector window handle? Outlook VBA and Custom Forms 3
A disable a menu in active inspector Outlook VBA and Custom Forms 1
S inspector toolbar buttons get multiple events Outlook VBA and Custom Forms 3
S Quick access toolbar in inspector window Outlook VBA and Custom Forms 3
T Using Ribbon in Inspector window Outlook VBA and Custom Forms 2
P Inspector.WordEditor always returns null Outlook VBA and Custom Forms 3
Q Inspector Bug/Question Outlook VBA and Custom Forms 3
Z Inspector.CurrentItem causes Shared Calendar Issue Outlook VBA and Custom Forms 5
P MailItem.To Property with VBA not work Outlook VBA and Custom Forms 2
G Event when creating task from mailitem Outlook VBA and Custom Forms 2
A Run-time error '430' on certain emails when trying to set "Outlook.mailitem" as "ActiveExplorer.Selection.Item" Outlook VBA and Custom Forms 2
U Outbox Message Stuck after reading some MailItem Properties with VBA Outlook VBA and Custom Forms 1
oliv- Best practice for catching mailitem.events Outlook VBA and Custom Forms 0
oliv- How to select an mailitem in explorer with "show as conversation" Outlook VBA and Custom Forms 8
JorgeDario How to capture and save the text, when responding a MailItem? Outlook VBA and Custom Forms 3
JorgeDario how to check a MailItem has a digital signature (SMIME) with vba? Outlook VBA and Custom Forms 1
JorgeDario ¿What property of mailitem can be used like primary key? Outlook VBA and Custom Forms 6
S Outlook VBA rule script to process both MailItem and MeetingItem Using Outlook 0
B right click outlook objects in OL2010 acts on current inbox mailitem Using Outlook 6
C MailItem Find method doesn't work Using Outlook 0
C MailItem.SaveAs not working Outlook VBA and Custom Forms 10
G RE:The signature is also inserted if you touch the MailItem. Outlook VBA and Custom Forms 1
B Add signature to MailItem Outlook VBA and Custom Forms 3
C How can I create a new MailItem inside a user folder? Outlook VBA and Custom Forms 4
S Create a new Outlook MailItem in an Outlook folder(not a draft) Outlook VBA and Custom Forms 2
A How to get OOM MailItem Raw data Outlook VBA and Custom Forms 2
S Saved Property of MailItem is copied Outlook VBA and Custom Forms 1
S MailItem Find Method question Outlook VBA and Custom Forms 6
N Getting the attachments in MailItem Outlook VBA and Custom Forms 1
T How to get MailItem.Body without security warning in Outlook 2010 Outlook VBA and Custom Forms 2
S ->[O2007] Parsing each line of a MailItem HTMLBody? Outlook VBA and Custom Forms 2
A Select the position of an attached file in a HTML mailitem Outlook VBA and Custom Forms 1
M MailItem object has no property for when a reply was sent Outlook VBA and Custom Forms 3

Similar threads

Back
Top