Registrations are now open. Join us today!
There is still a lot of work to do on the wiki yet! More information about editing can be found here.
Already have an account?

Microsoft KB Archive/172718

From BetaArchive Wiki
Knowledge Base

OL97: Programmatically Specifying an Attachment Type

Article ID: 172718

Article Last Modified on 2/12/2007


  • Microsoft Outlook 97 Standard Edition

This article was previously published under Q172718


Although the Microsoft Outlook 97 object model has four constants for determining how to attach one item to another, three of the constants are functionally equivalent. The result is that you can either embed an attachment or create a shortcut to an attachment.


The Vbaoutl.hlp file, which details the Outlook 97 object model, indicates that the OlAttachmentType constant has four possible values. The following table lists these constants and describes their behavior:

   Constant          Value   Behavior
   olByValue          1      Creates embedded attachment
   olByReference      4      Creates shortcut to attachment
   olEmbeddedItem     5      Creates shortcut to attachment
   olOLE              6      Creates shortcut to attachment

NOTE: All attachments will be added as an icon. There is no way to have an actual item, such as a picture or Microsoft Excel spreadsheet, displayed in the message or notes portion of a form.

For more information on Vbaoutl.hlp, please see the following articles in the Microsoft Knowledge Base:

166738 OL97: How to Install Visual Basic Help

169751 OL97: Errors in Outlook Visual Basic Help (Vbaoutl.hlp)

Microsoft provides programming examples for illustration only, without warranty either expressed or implied, including, but not limited to, the implied warranties of merchantability and/or fitness for a particular purpose. This article assumes that you are familiar with the programming language being demonstrated and the tools used to create and debug procedures. Microsoft Support professionals can help explain the functionality of a particular procedure, but they will not modify these examples to provide added functionality or construct procedures to meet your specific needs. If you have limited programming experience, you may want to contact the Microsoft Consult Line at (800) 936-5200. For more information about the support options available from Microsoft, please see the following page on the World Wide Web:

NOTE: This article assumes that you are familiar with Visual Basic Applications, Visual Basic Scripting, and with creating Microsoft Outlook forms using the programming tools provided with Outlook.

The following is a Visual Basic for Applications subroutine that automates Outlook. It creates a new Outlook mail message and attaches a file to the body of the message:

   Sub NewMailWithAttachment()
      ' The Outlook object library needs to be referenced
      Dim ol As Outlook.Application
      Dim NewMessage As Object
      Set ol = New Outlook.Application
      ' Create a new MailItem
      Set NewMessage = ol.CreateItem(olMailItem)
      ' Embed a file into the new message
      NewMessage.Attachments.Add "c:\autoexec.bat", olByValue
      ' Display the message
   End Sub


For more information about creating solutions with Microsoft Outlook 97, please see the following articles in the Microsoft Knowledge Base:

166368 OL97: How to Get Help Programming with Outlook

170783 OL97: Q&A: Questions about Customizing or Programming Outlook

Additional query words: OutSol OutSol97

Keywords: kbcode kbhowto kbprogramming KB172718