Results 1 to 3 of 3
  1. #1

    Outlook versions

    Hi, I'd like to send my users an email that captures their version of Outlook and send me the response...

    Any ideas?


  2. #2
    Super Moderator jscher2000's Avatar
    Join Date
    Feb 2001
    Silicon Valley, USA
    Thanked 94 Times in 90 Posts

    Re: Outlook versions

    Check out the header information in replies you get from your users (View|Options). You may see something like this:

    X-Mailer: Microsoft Outlook CWS, Build 9.0.2416 (9.0.2910.0)
    Outlook 2000 Note: Help About says

    X-Mailer: Microsoft Outlook CWS, Build 9.0.2416 (9.0.2911.0)
    Outlook 2000 SR-1 (I think)

    X-Mailer: Microsoft Outlook 8.5, Build 4.71.2173.0
    Outlook 98 (I think)

    You certainly could send out a VBScript or Macro-laden attachment to generate e-mail back to you from each user, but you can use VBA to read this information out of any message from the user. The following code is interactive (open message, run macro), but conceivably you could throw these messages into a folder, then build in a loop to do the whole folder at once. Fun, certainly, but it's getting late here.

    <pre>Sub SnagMailer()
    'Copyright 2001 Jefferson Scher.
    If MsgBox("Snag header info?", vbQuestion + vbYesNo) <> vbYes Then Exit Sub
    Dim doClip As DataObject, strHeaderArray() As String
    Dim intCount As Integer, strUser As String, strMailer As String
    SendKeys "%vp%h" 'open dialog and select Internet header
    SendKeys "^c" 'copy to the clipboard
    SendKeys "{ENTER}", True 'close dialog
    Set doClip = New DataObject 'instantiate DataObject
    doClip.GetFromClipboard 'retrieve clipboard
    strHeaderArray = Split(doClip.GetText(1), vbCrLf) 'slice and dice headers
    Set doClip = Nothing 'eliminate unneeded object
    For intCount = 0 To UBound(strHeaderArray())
    If InStr(1, strHeaderArray(intCount), "From: ", vbTextCompare) = 1 Then
    strUser = Right(strHeaderArray(intCount), _
    Len(strHeaderArray(intCount)) - 6)
    ElseIf InStr(1, strHeaderArray(intCount), "X-Mailer: ", _
    vbTextCompare) = 1 Then
    strMailer = Right(strHeaderArray(intCount), _
    Len(strHeaderArray(intCount)) - 10)
    End If
    Next intCount
    If strUser = vbNullString Then
    MsgBox "The user could not be identified."
    Exit Sub
    ElseIf strMailer = vbNullString Then
    MsgBox "The mail software could not be identified."
    Exit Sub
    End If
    'following line for debug only
    'MsgBox "User = " & strUser & vbCrLf & "Mail software = " & strMailer
    'append data to a simple tab-delimited text file
    Dim intFileNo As Integer
    intFileNo = FreeFile
    Open "c:Mailers.txt" For Append As #intFileNo
    Print #intFileNo, strUser & vbTab & strMailer
    Close #intFileNo
    MsgBox "Done!"
    End Sub

    Hope this helps.

  3. #3
    Platinum Lounger
    Join Date
    Jan 2001
    Roanoke area, Virginia, USA
    Thanked 0 Times in 0 Posts

    Re: Outlook versions

    be aware that depending on the version of outlook and security measures implemented, scripting and macros may be disabled.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts