Monday, July 9, 2007

How to change your Hotmail password

I was recently asked how to change a MSN Hotmail password.  You might look around the page in your Hotmail inbox and not immediately see how to change your password.  I overlooked it a few times myself.  You may notice the Options link in the upper right corner of your inbox.  Click Options and then you will be presented with a screen that has several features.  Click Password and you will be able to reset your password.

Thursday, July 5, 2007

Execute an Office Macro from a .NET Application

I have a pretty extensive macro written in Excel VBA.  I had a need to call this macro from a .NET application.  Before I executed the VBA macro, I needed to set a couple of combobox controls located on the worksheet.
 
Most of the solutions found on the Internet referred to using VSTO (Visual Studio Tools for Office).  One article I came across (http://support.microsoft.com/kb/306683) explained how to setup a .NET procedure called RunMacro that would execute a VBA macro stored in an Office application.  The article demonstrates that this same RunMacro procedure could be used to call an Excel Macro or Word, Accesss, or PowerPoint.
 
My solution was to bring the RunMacro code from the above article into my .NET application.  Next, in my Excel VBA code, I added a proxy procedure that would receive arguments used to set the combobox controls and then execute the macro.
 
My proxy procedure in VBA Code was similar to:
Public Sub MyProxyProcedure(MyArgOne As String, MyArgTwo As String)
    Sheets("Sheet1").cboOne.Value = MyArgOne
    Sheets("Sheet1").cboTwo.Value = MyArgTwo
    Call MyVBAProcedure
End Sub
 
Public Sub MyVBAProcedure
    'DO SOMETHING HERE
End Sub
 
My .NET Code to execute the VBA macro was similar to:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

' requires .net reference to Microsoft.Office.Interop.Excel
DIM oExcel as New Microsoft.Office.Interop.Excel.Application
DIM oWB as Microsoft.Office.Interop.Excel.Workbook
oWB = oExcel.Workbooks.Open("c:\MyExcelWorkbook.xls")
RunMacro(oExcel, New Object() {"MyProxyProcedure", _
   strArgOne, strArgTwo})

End Sub

Private Sub RunMacro(ByVal oApp As Object, _
                                 ByVal RunArgs As Object())
  oApp.GetType().InvokeMember("Run", _
    Reflection.BindingFlags.Default Or _
    Reflection.BindingFlags.InvokeMethod, _
    Nothing, oApp, oRunArgs)

End Sub

 
Now I am able to make use of the VBA Code I have invested and integrate into new .NET applications.

Monday, July 2, 2007

Google Apps - Email Notifier with Google Talk

I have been using Google Apps for my domain for some time now. I have also helped some of my clients get setup with Google Apps for their domain. Google offers many tools that are beneficial to the small business for a great price (many times free).

Before using Google Apps for my domain I had a GMail email address as my primary address. I used the GMail Notifier to let me know when I had a new email message.

Since upgrading to Google Apps, I have installed Google Talk. (UPDATE: Google Apps users, download here.) Google Talk has the GMail notifier built-in to the application. So with a single install I have a messenger client and the GMail notifier sitting in my system tray.

What's so great about this GMail Notifier? Well, with a simple glance to the system tray, I can know if I have new emails waiting or if all my emails have been read. If you take a couple of days to respond to Aunt Sarah's email she still may forgive you. But if an anxious client has sent you an email, you might want to know ASAP when you receive the email.

I am including two images: one showing email waiting and one showing a happy empty inbox.

email noemail

As you can see, it's pretty easy to tell that the left image is showing I have email waiting to be read. The right image lets me know all my messages have been read.

The notifier is also constantly monitoring your inbox. Whenever a new message does come in, the notifier pops up a quick window showing the sender and subject of the message received. It is then your choice to pop over and answer the email or wait until you're at a stopping point in your current task.

This is a great time saver that keeps you from having to remember to go check your inbox. And maybe it'll be just the tool you need to keep those customers happy.

 
2007, Chase Computer Services.