Making all the sticky notes in Outlook 2010 to appear sticky again

I use sticky notes for one reason is that it will stay sticking on my screen until I have decided to remove it.
The Microsoft Outlook the moment you create the sticky note, it will stay on top of the screen. However, when you have switch off your machine or close your Outllook application. The sticky notes will go disappear itself. You have to reopen one by one in the Outlook again to make it sticky on top again. Imagine if you have tons of sticky notes in your notes folder. 
Of course for the case of Microsoft Outlook, if you want to quickly check back what you have put into the note is that you can change the view of the Sticky Note folder to list. But then again, that defeat the purpose of me using sticky note. That is not the reason why I use a sticky note, I might as well use task or something else in Outlook for that purpose.

So, here goes my solution which is to make use of Office VBA macros. It is not a daunted task as you may think, just a little bit of google search here and there you will be able to do this.

So, create a macro in Outlook by clicking on Developer tab, and click on Visual Basic. Then, right click on Project1 in the Project Pane on your left and select Insert Module. Double click on Module1 and add the following codes into it.

Public Sub OpenAllNotes()
    Dim app As Outlook.Application
    Dim ns As Outlook.NameSpace
    Dim noteFolder As Outlook.MAPIFolder
    Dim collectionItems As Outlook.Items
    Dim objNote As Outlook.NoteItem
   
    Set app = New Outlook.Application
    Set ns = app.GetNamespace("MAPI")
    Set noteFolder = ns.GetDefaultFolder(olFolderNotes)
    Set collectionItems = noteFolder.Items
 
 
    For Each objNote In collectionItems
     
       objNote.Display
     
    Next objNote
End Sub

Public Sub CloseAllNotes()
    Dim app As Outlook.Application
    Dim ns As Outlook.NameSpace
    Dim noteFolder As Outlook.MAPIFolder
    Dim collectionItems As Outlook.Items
    Dim objNote As Outlook.NoteItem
   
    Set app = New Outlook.Application
    Set ns = app.GetNamespace("MAPI")
    Set noteFolder = ns.GetDefaultFolder(olFolderNotes)
    Set collectionItems = noteFolder.Items
 
 
    For Each objNote In collectionItems
     
       objNote.Close (olSave)
     
    Next objNote
End Sub

Then, click save. After that, right click on the Ribbon on top and select "Customize the Ribbon".
In the "Choose commands from:", pick "Macro".
Then, you should be able to see "Module1.OpenAllNotes" and "Module1.CloseAllNotes"
Just select both and "Add >>". Then click OK button at the bottom.

Now, you are done with the setting. At any point of time you need to make all your sticky note sticky on your desktop, just click on the new buttons that you have created - OpenAllNotes.
On the other hand, if you want to close all the notes, just click on CloseAllNotes.

That's all. Enjoy. 

(Note: Some of the Outlook administrator will configure the Outlook to disable macros execution by default. That will prevent your macros from running.

To enable the macros you have just created. For Outlook 2010,  go to Files - Options - Trust Center - Trust Center Settings. Then go to Macro Settings, select Notifications for all Macros and click OK button.
After that, restart your Outlook and try to run the macro again. The system will prompt for the permission to execute the Macro, just click Yes or Allowed and next time, it will not prompt again. If you want to make that go away permanently, you can digitally sign your Outlook macro project with self signing. The details you can refer to http://office.microsoft.com/en-001/outlook-help/digitally-sign-a-macro-project-HA001231781.aspx)

Comments

Popular posts from this blog

Clearcase check in/uncheck out all the checked out files script

MSSQL GROUP_CONCAT

Duplicating a local copy of project from TFS and making web software client factory to work