Personally I do not like the way that Microsoft Outlook prints out meetings especially the fact that attendees are a comma separated list.
I prefer to see all the attendees as a tabular list – with their acceptance response so that I can tick them off as they join the meeting.
The following macro will do this for you.
NOTE 1 : this macro is amending the text of the body of the meeting invite, if you save this and send an update – everyone will see this. I prefer to just run the macro, print the meeting and then close without saving.
NOTE 2 : this is a one off snapshot of the attendee status, if further responses or updates are received you will have to delete the old text then re-run the macro.
Continue reading Outlook Meeting Attendees In The Invite Body
There are times when you have an excel sheet which has multiple lines of text in a single cell, which has been split using a carriage return. NOTE: I’m not talking about text which has wrapped due to the size or formatting of the cell.
If you need to separate the contents of this single cell, into one row per line then this is the macro for you. NOTE: This macro will insert rows into your sheet so you may have to “fix” the layout afterwards. Save your sheet before you run this just in case.
The first function processes the current cell – use this if you only have one cell which you want to split.
Public Sub SplitCellToRows()
arrValues = Split(ActiveCell.Value, vbLf)
For i = UBound(arrValues) To LBound(arrValues) Step -1
'MsgBox i & " " & arrValues(i)
If i > 0 Then
ActiveCell.Offset(Sgn(i)).Value = arrValues(i)
If you have multiple cells which you want to split out then there is a wrapper macro which will call this multiple times.
Public Sub SplitCellToRows_Multiple()
For Each cell In ActiveCell.CurrentRegion.Cells
To use, simply highlight one or more cells and then run the appropriate macro.
There are times when you are using an Excel workbook and you simply want to search for some content but on one of the tables on one of the sheets the table which contains the data has been filtered. You can spend more time looking for and then removing the filter than you do in running the actual search.
This macro will remove all filters from your current workbook.
Continue reading Excel – Unfilter all sheets
A commenter on one of my other macros requested this functionality.
Whenever you send an e-mail in Outlook have it prompt you if you want it filed in a folder other than the default Sent Items folder.
Here it is.
I’m assuming that you are using the default Sent Items folder.
You will have to edit the code to point it to the folder you wish to use.
First you have to define the event handler to monitor your sent items folder.
Private WithEvents SentItems As Outlook.Items
Private Sub Application_Startup()
Dim NS As Outlook.NameSpace
Set NS = Application.GetNamespace("MAPI")
Set SentItems = NS.GetDefaultFolder(olFolderSentMail).Items
Now you have to add a routine to handle it.
Private Sub SentItems_ItemAdd(ByVal item As Object)
Dim objMailItem As mailItem
Set objMailItem = item
Dim arcFolder As Outlook.MAPIFolder
Set arcFolder = Outlook.Application.Session.Folders.item("Personal Folders (C)").Folders.item("___ToDo")
If MsgBox("Move To ToDo?", vbYesNo) = vbYes Then
I have a “ToDo” folder in my Personal Folders mailbox (the leading underscores are simply to “help” the sorting in the default view.
It’s this arcFolder location that you will have to adjust to your own required location.
It may be a sign of old age but, I’m struggling more and more to remember how old people are. I have addressed this by having a review of my Google contact data and making sure, where I know someone’s birthday I have recorded it there.
This has the added advantage of creating a Google calendar showing me their birthdays.
I have now created a script which scans my contacts to find their birthdays, does some arithmetic to work out their age and store this in a custom field. I have set up a trigger to run this once a week.
Here is the script that I created:
Continue reading How Old Are My Google Contacts?
As you will have read in various other places it is not productive to stay “in” Outlook and constantly respond to all the incoming e-mail.
It’s much better to go into your e-mail when it suits YOU – process your e-mail for a set period of time and then get back to some “real” work.
I had looked at various ways to implement this but it turns out that this is simple to implement using AutoHotkey (AHK).
Continue reading Productivity – Stay OUT of Outlook
I just treated myself to one of these.
Still getting it enabled everywhere but looking good so far.
The latest update to the Feedly application for Android has just added support for tags.
Previously; when I have found something “interesting” in Feedly, I have had to mark it as “Save For Later” and then when I’m next on my laptop or Chromebook, I convert my saved later articles to have the tag “BlogThis”.
Now; as soon as I find something I wish to share I can immediately tag the article “BlogThis” and the wheels will immediately start turning. I have an IFTT recipe which will scan Feedly for articles tagged with “BlogThis” and will then push them onto my blog www.RossGoodman.com. From there, there I then push the content from my blog onto Twitter, Facebook and LinkedIn.
Expect to see more “real time” updates in the future!
Although there is the functionality within Outlook where you can drag an email message and drop it on the calendar menu to automatically create an appointment – it copies many of the attributes of the email but it does not copy the mail sender & recipients to the appointment.
The following macro will allow you to do this:
Continue reading Create an Outlook Appointment from a Mail
I have gotten into a nice grove of writing a blog post a day – mostly describing some script, macro or hack that I have implemented. Today I have (rather belatedly) discovered RescueTime which will log and report on your online activities.
This has ironically distracted me from thinking about my blog whilst I install it on my phone and my chromebook. In return, I’ll investigate the API over the weekend and write up anything interesting that I find.
Let me know in the comments if you have any cool hint’s, tips or sample code that you would like to share with me.