Macro to Change sort and collapse groups in Mail folder

Status
Not open for further replies.
B

Brad

Thanks for taking the time to read my question.

I'd like to write a macro that when run, changes the sort order of the mail

folder I'm in (Inbox or any sub folder) by From, and then Collapses All

Groups.

I've searched the internet and not found what I'm looking for. Can this be

done?

Thanks,

Brad
 

Michael Bauer

Senior Member
Outlook version
Outlook 2010 32 bit
Email Account
Exchange Server
See if you can change that via Folder.CurrentView.Xml

Best regards

Michael Bauer

Am Fri, 8 Jan 2010 09:06:02 -0800 schrieb Brad:


> Thanks for taking the time to read my question.

> I'd like to write a macro that when run, changes the sort order of the


mail
> folder I'm in (Inbox or any sub folder) by From, and then Collapses All
> Groups.

> I've searched the internet and not found what I'm looking for. Can this be
> done?

> Thanks,

> Brad
 
B

Brad

Thansk for your reply Michael.

I did a lot of searching on the suggestion you gave me on line, and what I

found was this post. I've done a lot of programming in Access and Excel, but

not Outlook and am not catching on to it that well.

Are there some more hints you could give me?

Thanks agian,

Brad

"Michael Bauer " wrote:



> See if you can change that via Folder.CurrentView.Xml

> > Best regards
> Michael Bauer
>

>

> Am Fri, 8 Jan 2010 09:06:02 -0800 schrieb Brad:
>
> > Thanks for taking the time to read my question.
> > I'd like to write a macro that when run, changes the sort order of the

> mail
> > folder I'm in (Inbox or any sub folder) by From, and then Collapses All
> > Groups.
> > I've searched the internet and not found what I'm looking for. Can this be
> > done?
> > Thanks,
> > Brad

> .
>
 

Michael Bauer

Senior Member
Outlook version
Outlook 2010 32 bit
Email Account
Exchange Server
I haven't played with it myself. However, this prints the current view

definition into the debug window:

Debug.Print Application.ActiveExplorer.CurrentFolder.CurrentView.Xml

I'd play with the folder view, print CurrentView.Xml, and see what changes.

If you have found how to define the settings you're looking for, you can

edit the xml property. See also the Apply, and the Save method of the View

object.

Best regards

Michael Bauer

Am Fri, 15 Jan 2010 08:36:01 -0800 schrieb Brad:


> Thansk for your reply Michael.

> I did a lot of searching on the suggestion you gave me on line, and what I
> found was this post. I've done a lot of programming in Access and Excel,


but
> not Outlook and am not catching on to it that well.

> Are there some more hints you could give me?

> Thanks agian,

> Brad

> "Michael Bauer " wrote:
>
>

>
>> See if you can change that via Folder.CurrentView.Xml
>

>> > > Best regards
> > Michael Bauer
> >

> >

>
>
>> Am Fri, 8 Jan 2010 09:06:02 -0800 schrieb Brad:
> >
> >> Thanks for taking the time to read my question.
> >
>>> I'd like to write a macro that when run, changes the sort order of the

> > mail
> >> folder I'm in (Inbox or any sub folder) by From, and then Collapses All
> >> Groups.
> >
>>> I've searched the internet and not found what I'm looking for. Can this


be
> >> done?
> >
>>> Thanks,
> >
>>> Brad

> > .
> >
 
K

Ken Slovak - [MVP - Outlook]

I do this sort of thing all the time in my addins. I usually grab the XML in

the VBA Immediate window and put it in Notepad for easy editing. I then

modify the view as desired and use the modified XML file as my base for

setting up whatever custom view I want.

For sorting this is the sort of XML you need:

<orderby
<order
<heading>Received</heading
<prop>urn:schemas:httpmail:datereceived</prop
<type>datetime</type
<sort>desc</sort
</order
</orderby
You can have up to 3 sort fields within that <orderby> tag. Properties are

identified using DASL property tags, so you need to pick those up for your

view properties. You can also set grouping using tags for that.

"Michael Bauer " <mb@mvps.org> wrote in message

news:c10qgxsfqcgf.1w2sve9abvdch.dlg@40tude.net...

> I haven't played with it myself. However, this prints the current view
> definition into the debug window:

> Debug.Print Application.ActiveExplorer.CurrentFolder.CurrentView.Xml

> I'd play with the folder view, print CurrentView.Xml, and see what
> changes.
> If you have found how to define the settings you're looking for, you can
> edit the xml property. See also the Apply, and the Save method of the View
> object.

> > Best regards
> Michael Bauer
>

>

>
 
B

Brad

Thanks again Michael. I'll continue to work on this and learn.

Brad

"Michael Bauer " wrote:



> I haven't played with it myself. However, this prints the current view
> definition into the debug window:

> Debug.Print Application.ActiveExplorer.CurrentFolder.CurrentView.Xml

> I'd play with the folder view, print CurrentView.Xml, and see what changes.
> If you have found how to define the settings you're looking for, you can
> edit the xml property. See also the Apply, and the Save method of the View
> object.

> > Best regards
> Michael Bauer
>

>

> Am Fri, 15 Jan 2010 08:36:01 -0800 schrieb Brad:
>
> > Thansk for your reply Michael.
> > I did a lot of searching on the suggestion you gave me on line, and what I
> > found was this post. I've done a lot of programming in Access and Excel,

> but
> > not Outlook and am not catching on to it that well.
> > Are there some more hints you could give me?
> > Thanks agian,
> > Brad
> > "Michael Bauer " wrote:
> >
> >
> >
> >> See if you can change that via Folder.CurrentView.Xml
> >
> >> > >> Best regards
> >> Michael Bauer
> >>

> >>

> >
> >
> >> Am Fri, 8 Jan 2010 09:06:02 -0800 schrieb Brad:
> >
> >>> Thanks for taking the time to read my question.
> >>
> >>> I'd like to write a macro that when run, changes the sort order of the
> >> mail
> >>> folder I'm in (Inbox or any sub folder) by From, and then Collapses All
> >>> Groups.
> >>
> >>> I've searched the internet and not found what I'm looking for. Can this

> be
> >>> done?
> >>
> >>> Thanks,
> >>
> >>> Brad
> >> .
> >>

> .
>
 
B

Brad

Thanks for the example Ken. It's really helpful.

Have a great day,

Brad
wrote:


> I do this sort of thing all the time in my addins. I usually grab the XML in
> the VBA Immediate window and put it in Notepad for easy editing. I then
> modify the view as desired and use the modified XML file as my base for
> setting up whatever custom view I want.

> For sorting this is the sort of XML you need:

> <orderby
> <order
> <heading>Received</heading
> <prop>urn:schemas:httpmail:datereceived</prop
> <type>datetime</type
> <sort>desc</sort
> </order
> </orderby
> You can have up to 3 sort fields within that <orderby> tag. Properties are
> identified using DASL property tags, so you need to pick those up for your
> view properties. You can also set grouping using tags for that.

> >

>

> "Michael Bauer " <mb@mvps.org> wrote in message
> news:c10qgxsfqcgf.1w2sve9abvdch.dlg@40tude.net...
> > I haven't played with it myself. However, this prints the current view
> > definition into the debug window:
> > Debug.Print Application.ActiveExplorer.CurrentFolder.CurrentView.Xml
> > I'd play with the folder view, print CurrentView.Xml, and see what
> > changes.
> > If you have found how to define the settings you're looking for, you can
> > edit the xml property. See also the Apply, and the Save method of the View
> > object.
> > > > Best regards
> > Michael Bauer
> >

> >

> >


> .
>
 
B

Brad

Hi Ken,

I found this page

http://msdn.microsoft.com/en-us/library/aa155658(office.10).aspx but I still

don't understand how I apply my XML to the table? How do you tell the MSXML

parser what XML to use?

Thanks agian,

Brad
wrote:


> I do this sort of thing all the time in my addins. I usually grab the XML in
> the VBA Immediate window and put it in Notepad for easy editing. I then
> modify the view as desired and use the modified XML file as my base for
> setting up whatever custom view I want.

> For sorting this is the sort of XML you need:

> <orderby
> <order
> <heading>Received</heading
> <prop>urn:schemas:httpmail:datereceived</prop
> <type>datetime</type
> <sort>desc</sort
> </order
> </orderby
> You can have up to 3 sort fields within that <orderby> tag. Properties are
> identified using DASL property tags, so you need to pick those up for your
> view properties. You can also set grouping using tags for that.

> >

>

> "Michael Bauer " <mb@mvps.org> wrote in message
> news:c10qgxsfqcgf.1w2sve9abvdch.dlg@40tude.net...
> > I haven't played with it myself. However, this prints the current view
> > definition into the debug window:
> > Debug.Print Application.ActiveExplorer.CurrentFolder.CurrentView.Xml
> > I'd play with the folder view, print CurrentView.Xml, and see what
> > changes.
> > If you have found how to define the settings you're looking for, you can
> > edit the xml property. See also the Apply, and the Save method of the View
> > object.
> > > > Best regards
> > Michael Bauer
> >

> >

> >


> .
>
 
B

Brad

Hi Ken,

Also found this. I made a new view. Am I able to just apply this new view

via VBA?

Thanks,

Brad
wrote:


> I do this sort of thing all the time in my addins. I usually grab the XML in
> the VBA Immediate window and put it in Notepad for easy editing. I then
> modify the view as desired and use the modified XML file as my base for
> setting up whatever custom view I want.

> For sorting this is the sort of XML you need:

> <orderby
> <order
> <heading>Received</heading
> <prop>urn:schemas:httpmail:datereceived</prop
> <type>datetime</type
> <sort>desc</sort
> </order
> </orderby
> You can have up to 3 sort fields within that <orderby> tag. Properties are
> identified using DASL property tags, so you need to pick those up for your
> view properties. You can also set grouping using tags for that.

> >

>

> "Michael Bauer " <mb@mvps.org> wrote in message
> news:c10qgxsfqcgf.1w2sve9abvdch.dlg@40tude.net...
> > I haven't played with it myself. However, this prints the current view
> > definition into the debug window:
> > Debug.Print Application.ActiveExplorer.CurrentFolder.CurrentView.Xml
> > I'd play with the folder view, print CurrentView.Xml, and see what
> > changes.
> > If you have found how to define the settings you're looking for, you can
> > edit the xml property. See also the Apply, and the Save method of the View
> > object.
> > > > Best regards
> > Michael Bauer
> >

> >

> >


> .
>
 
B

Brad

Ok, came up with a solution.

I make a custom view by:

View>Current View>Define View

and made a new view as I needed.

Then I found this code and made a macro button on my tool bar for the code.

Works like a charm.

Sub ChangeCurrentView()

Dim myOlExp As Outlook.Explorer

Set myOlExp = Application.ActiveExplorer

If myOlExp.CurrentView = "Messages" Then

myOlExp.CurrentView = "Group And Sort"

Else

myOlExp.CurrentView = "Messages"

End If

End Sub

Thanks to everyone on this post for all your help.

Brad
wrote:


> I do this sort of thing all the time in my addins. I usually grab the XML in
> the VBA Immediate window and put it in Notepad for easy editing. I then
> modify the view as desired and use the modified XML file as my base for
> setting up whatever custom view I want.

> For sorting this is the sort of XML you need:

> <orderby
> <order
> <heading>Received</heading
> <prop>urn:schemas:httpmail:datereceived</prop
> <type>datetime</type
> <sort>desc</sort
> </order
> </orderby
> You can have up to 3 sort fields within that <orderby> tag. Properties are
> identified using DASL property tags, so you need to pick those up for your
> view properties. You can also set grouping using tags for that.

> >

>

> "Michael Bauer " <mb@mvps.org> wrote in message
> news:c10qgxsfqcgf.1w2sve9abvdch.dlg@40tude.net...
> > I haven't played with it myself. However, this prints the current view
> > definition into the debug window:
> > Debug.Print Application.ActiveExplorer.CurrentFolder.CurrentView.Xml
> > I'd play with the folder view, print CurrentView.Xml, and see what
> > changes.
> > If you have found how to define the settings you're looking for, you can
> > edit the xml property. See also the Apply, and the Save method of the View
> > object.
> > > > Best regards
> > Michael Bauer
> >

> >

> >


> .
>
 
Status
Not open for further replies.
Similar threads
Thread starter Title Forum Replies Date
N Help creating a VBA macro with conditional formatting to change the font color of all external emails to red Outlook VBA and Custom Forms 5
S Example VBA Macro - To Conditionally Change the From Account and Add a BCC Address on Emails Outlook VBA and Custom Forms 11
Phillip Macro to Change View on All Folders Using Outlook 4
L Change Category in a Task via macro Using Outlook 8
C Macro to change folder of rules automatically Outlook VBA and Custom Forms 7
J Change Subject of 500 mails sitting in Outbox with Macro Using Outlook 6
E Macro to block senders domain Outlook VBA and Custom Forms 1
D VBA Macro to Print and Save email to network location Outlook VBA and Custom Forms 1
N VBA Macro To Save Emails Outlook VBA and Custom Forms 1
N Line to move origEmail to subfolder within a reply macro Outlook VBA and Custom Forms 0
witzker Outlook 2019 Macro to answer a mail with attachments Outlook VBA and Custom Forms 2
A Outlook 2016 Macro to Reply, ReplyAll, or Forward(but with composing new email) Outlook VBA and Custom Forms 0
J Macro to Insert a Calendar Outlook VBA and Custom Forms 8
W Macro to Filter Based on Latest Email Outlook VBA and Custom Forms 6
T Macro to move reply and original message to folder Outlook VBA and Custom Forms 6
D Autosort macro for items in a view Outlook VBA and Custom Forms 2
S HTML to Plain Text Macro - Help Outlook VBA and Custom Forms 1
A Macro to file emails into subfolder based on subject line Outlook VBA and Custom Forms 1
S Visual indicator of a certain property or to show a macro toggle Outlook VBA and Custom Forms 2
L Modifying VBA script to delay running macro Outlook VBA and Custom Forms 3
S Macro to extract and modify links from emails Outlook VBA and Custom Forms 3
M Replyall macro with template and auto insert receptens Outlook VBA and Custom Forms 1
L Macro to add Date & Time etc to "drag to save" e-mails Outlook VBA and Custom Forms 14
S Macro for Loop through outlook unread emails Outlook VBA and Custom Forms 2
Globalforester ItemAdd Macro - multiple emails Outlook VBA and Custom Forms 3
S Macro to extract email addresses of recipients in current drafted email and put into clipboard Outlook VBA and Custom Forms 2
witzker HowTo start a macro with an Button in OL contact form Outlook VBA and Custom Forms 12
witzker Macro to move @domain.xx of a Spammail to Blacklist in Outlook 2019 Outlook VBA and Custom Forms 7
S Macro for other actions - Outlook 2007 Outlook VBA and Custom Forms 23
C Macro to extract sender name & subject line of incoming emails to single txt file Outlook VBA and Custom Forms 3
L Macro/VBA to Reply All, with the original attachments Outlook VBA and Custom Forms 2
S Macro to move “Re:” & “FWD:” email recieved the shared inbox to a subfolder in outlook Outlook VBA and Custom Forms 0
S Outlook Macro to send auto acknowledge mail only to new mails received to a specific shared inbox Outlook VBA and Custom Forms 0
S Outlook Macro to move reply mail based on the key word in the subjectline Outlook VBA and Custom Forms 0
Eike Move mails via macro triggered by the click of a button? Outlook VBA and Custom Forms 0
S Macro or plug-in to see if specific person was included in this email Outlook VBA and Custom Forms 4
U Macro for reminders,tasks,calendar Outlook VBA and Custom Forms 4
V macro runs slower on startup than after Outlook VBA and Custom Forms 3
N Macro to move all recipients to CC while replying Outlook VBA and Custom Forms 0
A VBA macro for 15 second loop in send and received just for 1 specific mailbox Outlook VBA and Custom Forms 1
G VBA Macro Using Outlook 4
R Help Revising VBA macro to delete email over different time span Outlook VBA and Custom Forms 0
M Outlook macro to automate search and forward process Outlook VBA and Custom Forms 6
R Macro Schedule every day in Outlook 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
Healy Consultants Macro to remove inside organization distribution list email address when reply to all recepients Outlook VBA and Custom Forms 0
geofferyh Cannot get Macro to SAVE more than one message attachment??? Outlook VBA and Custom Forms 5
N How can I increase/faster outlook VBA Macro Speed ? Using Outlook 2
4 Macro to set the category of Deleted Item? Outlook VBA and Custom Forms 2
D.Moore Folder view settings by VBA macro Outlook VBA and Custom Forms 57

Similar threads

Top