Error Messages: User-Defined Type Not Defined

There are a great many errors that we can run into when programming, and just on of those is a Compile Error, specifically "User-Defined Type Not Defined".

This error could mean one of a few different things, which may not all be listed here. Two of the most common, however, are:

  1. You are trying to create your own Constants and did not declare the Enum. (For an example of this, see my article on Creating Your Own Constants For Functions)
  2. You are automating an external program, (using Early Binding,) and forgot to set a reference to the required library.

The steps that are listed below are assuming that you need to set a reference to PDFCreator in order to use some one of the PDFCreator examples on this site. Be aware that this could just as easily be applied to setting a reference to Word, Access or any application that you are attempting to set an Early bind to.

To set a reference:

  • Enter the Visual Basic Editor (VBE)
  • Go to Tools|References
  • Scroll down the list until you find the library that you need and check the box:
  • Click OK, and your reference is set


  • To move quickly down the list, click an item and then press the first letter in the reference name. ("P" for PDFCreator.) You'll jump right to the "P" section of the list without having to scroll all the way down.
  • Remember that most Microsoft libraries are prefaced with Microsoft. If you're looking for the Word Object library, look for Microsoft Word



Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Latest Posts