No announcement yet.

Using Beyond Compare in Microsoft Outlook

  • Time
  • Show
Clear All
new posts

  • Using Beyond Compare in Microsoft Outlook

    I receive automated exception reports (application error logs) sent to my Microsoft Outlook inbox. It would be awesome if I could multi-select any two emails then right-click and open them in a text compare from the context menu to see if they are duplicate exception reports or separate issues. Is this possible to set up? If not, is it a reasonable request to put on the infamous customer wish list? Thanks.
    BC v4.0.7 build 19761

  • #2
    As far as I can tell it should be possible to set up something like that using Outlook's VBA support. Microsoft has some information on adding items to context menus here. I've never done anything like that before though, so it's not something we can whip out quickly.

    I'll add it to the infamous wishlist, but I have a feeling it'll be on there a while. It doesn't require access to BC's innards though, so if someone wants it badly enough they could beat us to it. Pretty much all of our third-party integrations were originally contributed by customers (Explorer, Konqueror, Nautilus, ClearCase, Delphi/C++Builder).
    Zoë P Scooter Software


    • #3
      This might get you started, if you forgive no comments, error checking, file cleanup, directory choice...

      Save this with a .BAS suffix, then import this as a Module into Outlook's VB Editor. You should then be able to run it as a macro.

      Attribute VB_Name = "Compare2"
      Sub Compare2()
         Dim olMessage As Object
         Dim title1 As String
         Dim title2 As String
         If Application.ActiveExplorer.Selection.Count <> 2 Then
            MsgBox "Two messages must be selected.", vbCritical + vbOKOnly, "Compare2"
            Exit Sub
         End If
         Set olMessage = Application.ActiveExplorer.Selection.item(1)
         With olMessage
            .SaveAs "item1.txt", olTXT
            title1 = .SenderName & " - " & .Subject & " - " _
               & FormatDateTime(.ReceivedTime, vbShortDate) & " " _
               & FormatDateTime(.ReceivedTime, vbShortTime)
         End With
         Set olMessage = Application.ActiveExplorer.Selection.item(2)
         With olMessage
            .SaveAs "item2.txt", olTXT
            title2 = .SenderName & " - " & .Subject & " - " _
               & FormatDateTime(.ReceivedTime, vbShortDate) & " " _
               & FormatDateTime(.ReceivedTime, vbShortTime)
         End With
         Shell """C:\Program Files (x86)\Beyond Compare 3\BCompare.exe"" " _
            & "/title1=""" & title1 & """ /title2=""" & title2 & """ item1.txt item2.txt"
      End Sub


      • #4
        Thanks ljcorsa. I'll give it a try.
        BC v4.0.7 build 19761