PC Review


Reply
Thread Tools Rate Thread

Subscribing New folder event

 
 
WLAN
Guest
Posts: n/a
 
      10th Jan 2009

Hello,

I have a requirement where i need to hook / subscribe new folder add event.
When user creates a new folder by clicking and say 'New folder', i want to do
some custom actions.

How do I implement this problem? Basically i need to handle folderadd event.
Which folder object i need to subscribe???


 
Reply With Quote
 
 
 
 
WLAN
Guest
Posts: n/a
 
      11th Jan 2009
I want to handle folder add event in the following cases:

User can create folder under any root folder, sub folder or sub sub folders.
So if subscribe namespace.folders.folderadd, Will it trigger for sub folder
or sub sub folder of that collection.

How do I handle this situation?

I need to handle folderadd event when user says 'New Folder'. The new folder
can be under root folder or can be under Inbox or can under Drafts or can be
under Inbox\MyMails.




"Ken Slovak - [MVP - Outlook]" wrote:

> NameSpace.Folders.FolderAdd
>
> --
> Ken Slovak
> [MVP - Outlook]
> http://www.slovaktech.com
> Author: Professional Programming Outlook 2007.
> Reminder Manager, Extended Reminders, Attachment Options.
> http://www.slovaktech.com/products.htm
>
>
> "WLAN" <(E-Mail Removed)> wrote in message
> news:(E-Mail Removed)...
> >
> > Hello,
> >
> > I have a requirement where i need to hook / subscribe new folder add
> > event.
> > When user creates a new folder by clicking and say 'New folder', i want to
> > do
> > some custom actions.
> >
> > How do I implement this problem? Basically i need to handle folderadd
> > event.
> > Which folder object i need to subscribe???
> >
> >

>
>

 
Reply With Quote
 
 
 
 
Ken Slovak - [MVP - Outlook]
Guest
Posts: n/a
 
      12th Jan 2009
NameSpace.Folders will be a collection of all the stores you have open (PST
files, Exchange maiboxes and Exchange public folders). Add a new store and
NameSpace.Folders.FolderAdd will fire.

Assuming you have only 1 store open, say a PST file, then to get a new
folder added at the top level just under Personal Folders you'd use this:

NameSpace.Folders.Item(1).Folders.FolderAdd

That would only handle adding a top level folder.

To get a new folder added under Inbox (as an example) you have to get Inbox
and its Folders collection and subscribe to FolderAdd for that collection.
Another handler would have to handle FolderAdd for subfolders of Calendar,
etc.

FolderAdd will only fire for that specific Folders collection, not any
Folders collection anywhere. So to do exactly what you want you'd need to
instantiate an object for every existing folder in the store and handle the
FolderAdd event for every one of those folder's Folders collection. It can't
be handled with just one universal event handler.

--
Ken Slovak
[MVP - Outlook]
http://www.slovaktech.com
Author: Professional Programming Outlook 2007.
Reminder Manager, Extended Reminders, Attachment Options.
http://www.slovaktech.com/products.htm


"WLAN" <(E-Mail Removed)> wrote in message
news(E-Mail Removed)...
>I want to handle folder add event in the following cases:
>
> User can create folder under any root folder, sub folder or sub sub
> folders.
> So if subscribe namespace.folders.folderadd, Will it trigger for sub
> folder
> or sub sub folder of that collection.
>
> How do I handle this situation?
>
> I need to handle folderadd event when user says 'New Folder'. The new
> folder
> can be under root folder or can be under Inbox or can under Drafts or can
> be
> under Inbox\MyMails.


 
Reply With Quote
 
WLAN
Guest
Posts: n/a
 
      21st Jan 2009
Hi Ken,

Thanks for the reply.

But which event do i need to handle for subscribing folderadd event? now I'm
subscribing folders.folderadd in the below events:


this.m_activeExplorer =
(Outlook11.Explorer)this.applicationObject.ActiveExplorer();
if (this.m_activeExplorer != null)//subscribe folder switch
event handler
{
this.m_currentFolderCollection =
(Outlook11.Folders)this.m_activeExplorer.CurrentFolder.Folders;
if (this.m_currentFolderCollection != null)
{
this.m_currentFolderCollection.FolderAdd +=new
Microsoft.Office.Interop.Outlook.FoldersEvents_FolderAddEventHandler(m_currentFolderCollection_FolderAdd);
}

//folder switch
this.m_activeExplorer.FolderSwitch += new
Outlook11.ExplorerEvents_10_FolderSwitchEventHandler(exp_FolderSwitch);
}

private void exp_FolderSwitch()
{
//get current active explorer
if (this.m_activeExplorer != null)
{
//if any previously selected folder exists
if(this.m_currentFolderCollection != null)
this.m_currentFolderCollection.FolderAdd -= new
Microsoft.Office.Interop.Outlook.FoldersEvents_FolderAddEventHandler(m_currentFolderCollection_FolderAdd);

this.m_currentFolderCollection =
(Outlook11.Folders)this.m_activeExplorer.CurrentFolder.Folders;
if (this.m_currentFolderCollection != null)
{
this.m_currentFolderCollection.FolderAdd += new
Microsoft.Office.Interop.Outlook.FoldersEvents_FolderAddEventHandler(m_currentFolderCollection_FolderAdd);
}

But I'm facing issues in Outlook 2007. In outlook 2007, user can right click
without selecting a node in tree view. So I will not get the correct folder.

Also the new folder can be changed using PickFolder dialog displayed while
specifying a new folder name.

Which event handler do I need to use for subscribing Folders.FolderAdd event?

Thanks
"Ken Slovak - [MVP - Outlook]" wrote:

> NameSpace.Folders will be a collection of all the stores you have open (PST
> files, Exchange maiboxes and Exchange public folders). Add a new store and
> NameSpace.Folders.FolderAdd will fire.
>
> Assuming you have only 1 store open, say a PST file, then to get a new
> folder added at the top level just under Personal Folders you'd use this:
>
> NameSpace.Folders.Item(1).Folders.FolderAdd
>
> That would only handle adding a top level folder.
>
> To get a new folder added under Inbox (as an example) you have to get Inbox
> and its Folders collection and subscribe to FolderAdd for that collection.
> Another handler would have to handle FolderAdd for subfolders of Calendar,
> etc.
>
> FolderAdd will only fire for that specific Folders collection, not any
> Folders collection anywhere. So to do exactly what you want you'd need to
> instantiate an object for every existing folder in the store and handle the
> FolderAdd event for every one of those folder's Folders collection. It can't
> be handled with just one universal event handler.
>
> --
> Ken Slovak
> [MVP - Outlook]
> http://www.slovaktech.com
> Author: Professional Programming Outlook 2007.
> Reminder Manager, Extended Reminders, Attachment Options.
> http://www.slovaktech.com/products.htm
>
>
> "WLAN" <(E-Mail Removed)> wrote in message
> news(E-Mail Removed)...
> >I want to handle folder add event in the following cases:
> >
> > User can create folder under any root folder, sub folder or sub sub
> > folders.
> > So if subscribe namespace.folders.folderadd, Will it trigger for sub
> > folder
> > or sub sub folder of that collection.
> >
> > How do I handle this situation?
> >
> > I need to handle folderadd event when user says 'New Folder'. The new
> > folder
> > can be under root folder or can be under Inbox or can under Drafts or can
> > be
> > under Inbox\MyMails.

>
>

 
Reply With Quote
 
Ken Slovak - [MVP - Outlook]
Guest
Posts: n/a
 
      21st Jan 2009
For Outlook 2007 you can subscribe to the context menu events that occur
when you right-click somewhere in Outlook. So you can use the
Application.FolderContextMenuDisplay() event or other context menu events.

Even that doesn't really cover all the possibilities though, and FolderAdd()
only applies to that specific Folders collection. So to really cover all the
bases you'd need to subscribe to that event for every existing folder in the
store to really know when and where a new folder was added anywhere in
Outlook.

--
Ken Slovak
[MVP - Outlook]
http://www.slovaktech.com
Author: Professional Programming Outlook 2007.
Reminder Manager, Extended Reminders, Attachment Options.
http://www.slovaktech.com/products.htm


"WLAN" <(E-Mail Removed)> wrote in message
news:(E-Mail Removed)...
> Hi Ken,
>
> Thanks for the reply.
>
> But which event do i need to handle for subscribing folderadd event? now
> I'm
> subscribing folders.folderadd in the below events:
>
>
> this.m_activeExplorer =
> (Outlook11.Explorer)this.applicationObject.ActiveExplorer();
> if (this.m_activeExplorer != null)//subscribe folder switch
> event handler
> {
> this.m_currentFolderCollection =
> (Outlook11.Folders)this.m_activeExplorer.CurrentFolder.Folders;
> if (this.m_currentFolderCollection != null)
> {
> this.m_currentFolderCollection.FolderAdd +=new
> Microsoft.Office.Interop.Outlook.FoldersEvents_FolderAddEventHandler(m_currentFolderCollection_FolderAdd);
> }
>
> //folder switch
> this.m_activeExplorer.FolderSwitch += new
> Outlook11.ExplorerEvents_10_FolderSwitchEventHandler(exp_FolderSwitch);
> }
>
> private void exp_FolderSwitch()
> {
> //get current active explorer
> if (this.m_activeExplorer != null)
> {
> //if any previously selected folder exists
> if(this.m_currentFolderCollection != null)
> this.m_currentFolderCollection.FolderAdd -= new
> Microsoft.Office.Interop.Outlook.FoldersEvents_FolderAddEventHandler(m_currentFolderCollection_FolderAdd);
>
> this.m_currentFolderCollection =
> (Outlook11.Folders)this.m_activeExplorer.CurrentFolder.Folders;
> if (this.m_currentFolderCollection != null)
> {
> this.m_currentFolderCollection.FolderAdd += new
> Microsoft.Office.Interop.Outlook.FoldersEvents_FolderAddEventHandler(m_currentFolderCollection_FolderAdd);
> }
>
> But I'm facing issues in Outlook 2007. In outlook 2007, user can right
> click
> without selecting a node in tree view. So I will not get the correct
> folder.
>
> Also the new folder can be changed using PickFolder dialog displayed while
> specifying a new folder name.
>
> Which event handler do I need to use for subscribing Folders.FolderAdd
> event?


 
Reply With Quote
 
 
 
Reply

Thread Tools
Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Re: Subscribing New folder event Ken Slovak - [MVP - Outlook] Microsoft Outlook Form Programming 0 10th Jan 2009 07:24 PM
Subscribing to event from Template Column Tina Microsoft ASP .NET 3 13th Oct 2005 01:14 AM
Re: Subscribing multiple forms to a single resize event Nicholas Paldino [.NET/C# MVP] Microsoft C# .NET 3 22nd Sep 2004 03:45 PM
Subscribing multiple forms to a single resize event =?Utf-8?B?QmlzYmFs?= Microsoft C# .NET 0 21st Sep 2004 04:23 PM
subscribing to a 3rd party object's event Jack Addington Microsoft C# .NET 0 13th Sep 2004 12:05 AM


Features
 

Advertising
 

Newsgroups
 


All times are GMT +1. The time now is 10:07 PM.