OL97: Programmatically Specifying an Attachment Type

ID: Q172718

The information in this article applies to:

SUMMARY

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.

MORE INFORMATION

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:

   Article-ID: Q166738
   Title     : OL97: How to Install Visual Basic Help

   Article-ID: Q169751
   Title     : 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:

   http://www.microsoft.com/support/supportnet/refguide/default.asp

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
      NewMessage.Display
   End Sub

REFERENCES

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

   Article-ID: Q166368
   Title     : OL97: How to Get Help Programming with Outlook

   Article-ID: Q170783
   Title     : OL97: Q&A: Questions about Customizing or
               Programming Outlook

Additional query words: OutSol OutSol97
Keywords          : kbcode 
Version           : WINDOWS:97
Platform          : WINDOWS
Issue type        : kbhowto

Last Reviewed: May 17, 1999