![]() |
If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below. |
|
|
Thread Tools | Search this Thread | Display Modes |
|
#1
|
|||
|
|||
![]()
Hi! I was given a fantastic script on this board some time back which
I use all the time. It sorts the folders in the main Personal Folders. This is the script he ************************************************** ************** Private Sub Application_Startup() ExpandAllFolders End Sub Private Sub ExpandAllFolders() On Error Resume Next Dim Ns As Outlook.NameSpace Dim Folders As Outlook.Folders Dim CurrF As Outlook.MAPIFolder Dim F As Outlook.MAPIFolder Dim ExpandDefaultStoreOnly As Boolean ExpandDefaultStoreOnly = True Set Ns = Application.GetNamespace("Mapi") Set CurrF = Application.ActiveExplorer.CurrentFolder If ExpandDefaultStoreOnly = True Then Set F = Ns.GetDefaultFolder(olFolderInbox) Set F = F.Parent Set Folders = F.Folders LoopFolders Folders, True Else LoopFolders Ns.Folders, True End If DoEvents Set Application.ActiveExplorer.CurrentFolder = CurrF End Sub Private Sub LoopFolders(Folders As Outlook.Folders, _ ByVal bRecursive As Boolean _ ) Dim F As Outlook.MAPIFolder For Each F In Folders Set Application.ActiveExplorer.CurrentFolder = F DoEvents If bRecursive Then If F.Folders.Count Then LoopFolders F.Folders, bRecursive End If End If Next End Sub ************************************************** ************** The thing is that the process takes a bit of time, which is absolutely no problem. But a lot of times, the folders don't need to be expanded each and every time O2K is launched and/or I need to get in immediately. How can we add a prompt to run this macro rather than having it run automatically when all macros are enabled, pls? Thank you! ![]() |
#2
|
|||
|
|||
![]()
Use a MsgBox statement:
Private Sub Application_Startup() If MsgBox("Do you want to expand?", vbYesNo + vbQuestion, "Expand all?") Then ExpandAllFolders End If End Sub -- Sue Mosher, Outlook MVP Author of Microsoft Outlook 2007 Programming: Jumpstart for Power Users and Administrators http://www.outlookcode.com/article.aspx?id=54 "StargateFan" wrote in message ... Hi! I was given a fantastic script on this board some time back which I use all the time. It sorts the folders in the main Personal Folders. This is the script he ************************************************** ************** Private Sub Application_Startup() ExpandAllFolders End Sub Private Sub ExpandAllFolders() On Error Resume Next Dim Ns As Outlook.NameSpace Dim Folders As Outlook.Folders Dim CurrF As Outlook.MAPIFolder Dim F As Outlook.MAPIFolder Dim ExpandDefaultStoreOnly As Boolean ExpandDefaultStoreOnly = True Set Ns = Application.GetNamespace("Mapi") Set CurrF = Application.ActiveExplorer.CurrentFolder If ExpandDefaultStoreOnly = True Then Set F = Ns.GetDefaultFolder(olFolderInbox) Set F = F.Parent Set Folders = F.Folders LoopFolders Folders, True Else LoopFolders Ns.Folders, True End If DoEvents Set Application.ActiveExplorer.CurrentFolder = CurrF End Sub Private Sub LoopFolders(Folders As Outlook.Folders, _ ByVal bRecursive As Boolean _ ) Dim F As Outlook.MAPIFolder For Each F In Folders Set Application.ActiveExplorer.CurrentFolder = F DoEvents If bRecursive Then If F.Folders.Count Then LoopFolders F.Folders, bRecursive End If End If Next End Sub ************************************************** ************** The thing is that the process takes a bit of time, which is absolutely no problem. But a lot of times, the folders don't need to be expanded each and every time O2K is launched and/or I need to get in immediately. How can we add a prompt to run this macro rather than having it run automatically when all macros are enabled, pls? Thank you! ![]() |
#3
|
|||
|
|||
![]()
On Sun, 16 Dec 2007 14:29:33 -0500, "Sue Mosher [MVP-Outlook]"
wrote: Use a MsgBox statement: Private Sub Application_Startup() If MsgBox("Do you want to expand?", vbYesNo + vbQuestion, "Expand all?") Then ExpandAllFolders End If End Sub WOW!! That is so kewl!! I just changed the text a bit to this: "Private Sub Application_Startup() If MsgBox("Do you want to run the macro to expand all the folders... ?", vbYesNo + vbQuestion, "Expand all?") Then ExpandAllFolders End If End Sub" and then it ran the macro at triple speed! Pretty kewl. Is there a "sleep" function in vb? I'd like to add a second or 2 or sleep before the message box comes up. This box pops up a bit too quickly after one presses okay to enable macros. Thanks for this! ![]() -- Sue Mosher, Outlook MVP Author of Microsoft Outlook 2007 Programming: Jumpstart for Power Users and Administrators http://www.outlookcode.com/article.aspx?id=54 "StargateFan" wrote in message ... Hi! I was given a fantastic script on this board some time back which I use all the time. It sorts the folders in the main Personal Folders. This is the script he ************************************************** ************** Private Sub Application_Startup() ExpandAllFolders End Sub Private Sub ExpandAllFolders() On Error Resume Next Dim Ns As Outlook.NameSpace Dim Folders As Outlook.Folders Dim CurrF As Outlook.MAPIFolder Dim F As Outlook.MAPIFolder Dim ExpandDefaultStoreOnly As Boolean ExpandDefaultStoreOnly = True Set Ns = Application.GetNamespace("Mapi") Set CurrF = Application.ActiveExplorer.CurrentFolder If ExpandDefaultStoreOnly = True Then Set F = Ns.GetDefaultFolder(olFolderInbox) Set F = F.Parent Set Folders = F.Folders LoopFolders Folders, True Else LoopFolders Ns.Folders, True End If DoEvents Set Application.ActiveExplorer.CurrentFolder = CurrF End Sub Private Sub LoopFolders(Folders As Outlook.Folders, _ ByVal bRecursive As Boolean _ ) Dim F As Outlook.MAPIFolder For Each F In Folders Set Application.ActiveExplorer.CurrentFolder = F DoEvents If bRecursive Then If F.Folders.Count Then LoopFolders F.Folders, bRecursive End If End If Next End Sub ************************************************** ************** The thing is that the process takes a bit of time, which is absolutely no problem. But a lot of times, the folders don't need to be expanded each and every time O2K is launched and/or I need to get in immediately. How can we add a prompt to run this macro rather than having it run automatically when all macros are enabled, pls? Thank you! ![]() |
#4
|
|||
|
|||
![]()
On Sun, 16 Dec 2007 15:44:49 -0500, StargateFan
wrote: On Sun, 16 Dec 2007 14:29:33 -0500, "Sue Mosher [MVP-Outlook]" wrote: Use a MsgBox statement: Private Sub Application_Startup() If MsgBox("Do you want to expand?", vbYesNo + vbQuestion, "Expand all?") Then ExpandAllFolders End If End Sub WOW!! That is so kewl!! I just changed the text a bit to this: "Private Sub Application_Startup() If MsgBox("Do you want to run the macro to expand all the folders... ?", vbYesNo + vbQuestion, "Expand all?") Then ExpandAllFolders End If End Sub" and then it ran the macro at triple speed! Pretty kewl. Is there a "sleep" function in vb? I'd like to add a second or 2 or sleep before the message box comes up. This box pops up a bit too quickly after one presses okay to enable macros. Thanks for this! ![]() [snip] Oops, didn't check it out thoroughly. The macro still runs even when we press NO! ![]() How come? g Thanks. ![]() |
#5
|
|||
|
|||
![]()
Because I stupidly forgot the text for the MsgBox function's return value:
strMsg = "Do you want to run the macro to expand all the folders... ?" If MsgBox(strMsg, vbYesNo + vbQuestion, "Expand all?") = vbYes Then ExpandAllFolders End If -- Sue Mosher, Outlook MVP Author of Microsoft Outlook 2007 Programming: Jumpstart for Power Users and Administrators http://www.outlookcode.com/article.aspx?id=54 "StargateFan" wrote in message ... On Sun, 16 Dec 2007 15:44:49 -0500, StargateFan wrote: On Sun, 16 Dec 2007 14:29:33 -0500, "Sue Mosher [MVP-Outlook]" wrote: Use a MsgBox statement: Private Sub Application_Startup() If MsgBox("Do you want to expand?", vbYesNo + vbQuestion, "Expand all?") Then ExpandAllFolders End If End Sub WOW!! That is so kewl!! I just changed the text a bit to this: "Private Sub Application_Startup() If MsgBox("Do you want to run the macro to expand all the folders... ?", vbYesNo + vbQuestion, "Expand all?") Then ExpandAllFolders End If End Sub" and then it ran the macro at triple speed! Pretty kewl. Is there a "sleep" function in vb? I'd like to add a second or 2 or sleep before the message box comes up. This box pops up a bit too quickly after one presses okay to enable macros. Thanks for this! ![]() [snip] Oops, didn't check it out thoroughly. The macro still runs even when we press NO! ![]() How come? g Thanks. ![]() |
#6
|
|||
|
|||
![]()
On Sun, 16 Dec 2007 17:55:15 -0500, "Sue Mosher [MVP-Outlook]"
wrote: Because I stupidly forgot the text for the MsgBox function's return value: strMsg = "Do you want to run the macro to expand all the folders... ?" If MsgBox(strMsg, vbYesNo + vbQuestion, "Expand all?") = vbYes Then ExpandAllFolders End If lol Thank you! Works just perfectly now. Next time a colleague comes around just as I've opened Outlook, I can press "no" before he asks me something that requires an email response and we don't need to wait for the macro to go through g. (That literally happened to me a couple of weeks ago; freaks people out, this macro does lol. I should have just chosen disable then re-opened O2K after, but didn't think of that on the spur of the moment ... g). Also, what's neat is that I can see the folders and they remain expanded a few times Outlook opens, so it needs the macro run only every few launches. Pretty neat O2K behaviour not to need to do it each time. |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
Outlook macro abends but Word macro runs successfully | Jreue | Outlook and VBA | 0 | December 14th 06 12:55 AM |
Address prompt | Lawrence J.Ryz | Outlook - Using Contacts | 1 | October 24th 06 01:09 PM |
Call macro stored in Excel workbook from Outlook's macro | Gvaram | Outlook and VBA | 5 | October 4th 06 07:26 AM |
security prompt | Rog | Add-ins for Outlook | 1 | July 13th 06 06:46 AM |
Macro to prompt for metadata and them place in the subject line | Ben Bazian | Outlook and VBA | 1 | April 12th 06 07:19 AM |