You cannot display or save an item by using GetItemFromID in Outlook 2000 (228512)



The information in this article applies to:

  • Microsoft Outlook 2000

This article was previously published under Q228512

SYMPTOMS

You try to programmatically display or save an item, but the Display or Save methods in the Outlook object model do not seem to work.

CAUSE

Both the Display and the Save methods in the Outlook object model do not work when you try to programmatically save or display an Outlook item if the following conditions are true:

  • You referenced the item using the GetItemFromID method.

    -and-

  • The item is based on a custom form containing Visual Basic Scripting Edition (VBScript) code.

    -and-

  • The form definition is not stored in the item.

RESOLUTION

To resolve this problem, download and install the update described in this article.

How to Download and Install the Update

IMPORTANT: The installation of the update that is described in this article has the following requirements:
  • Microsoft Windows Installer 2.0

    Before you install this update, you must install Windows Installer 2.0 or later. For additional information about this requirement, see the "Windows Installer 2.0 Update Requirements" section of this article.
  • Microsoft Office 2000 Service Pack 3 (SP-3)

    Before you install this update, install Office 2000 Service Pack 3 (SP-3). For more information about how to install Office 2000 SP-3, click the following article number to view the article in the Microsoft Knowledge Base:

    326585 Description of the Office 2000 Service Pack 3

Client Update

To download and install the client update, follow these steps:
  1. Visit the following Microsoft Web site:
  2. Click Save to save the 228512.exe file to the selected folder.
  3. In Windows Explorer, double-click 228512.exe.
  4. If you are prompted to install the update, click Yes.
  5. Click Yes to accept the License Agreement
  6. Insert your Office 2000 CD-ROM when you are prompted to do so, and then click OK.
  7. When you receive a message that indicates the installation was successful, click OK.
NOTE: After you install the update, you cannot remove it. To return to an installation before the update was installed, you must remove all of Office 2000, and then install it again from the original CD.

Administrative Update

If you installed Outlook from a server location, the server administrator must update the server location with the administrative public update and deploy that update to your computer.

If you are the server administrator, follow these steps to download the administrative update:
  1. Visit the following Microsoft Web site:
  2. Download the file to your desktop.
  3. In Windows Explorer, double-click 228512a.exe.
  4. Click Yes to accept the License Agreement.
  5. In the Please type the location where you want to place the extracted files box, type C:\228512a, and then click OK.
  6. Click Yes when you are prompted to create the folder
  7. If you are familiar with the procedure to update your administrative installation, click Start and then click Run. Type the following command in the Open box msiexec /a Admin Path\MSI File /p C:\ 228512a \MSP File SHORTFILENAMES=1

    where Admin Path is the path to your administrative installation point for Office 2000 (for example, C:\Office2000), and

    where MSI File is the .msi database package for the Office 2000 product (for example, Data1.msi), and

    where MSP File is the name of the administrative update.

    NOTE: You can append "/qb+" (without the quotation marks) to the command line, so that the Office 2000 Administrative Installation dialog box and the End User License Agreement dialog box do not appear
  8. To deploy the update to the client workstations, click Start, and then click Run. Type the following command in the Open box msiexec /i Admin Path\MSI File REINSTALL=Feature List REINSTALLMODE=vomu

    where Admin Path is the path to your administrative installation point for Office 2000 (for example, C:\Office2000), and

    where MSI File is the MSI database package for the Office 2000 product (for example, Data1.msi), and

    where Feature List is the list of feature names (case sensitive) that have to be reinstalled for the update. To install all features, you can use REINSTALL=ALL or you can use the following list of features:
    • OUTLOOKFiles
    • OUTLOOKNonBootFiles

How to Determine Whether the Update is Installed

The update contains updated versions of the following files:
File Name    Version
-----------------------
Outllib.dll  9.0.0.7119
Recall.dll   9.0.0.7031
In Outlook, click About Microsoft Outlook on the Help menu to determine the version that is on your computer. If the update is installed, version 9.0.0.7119 appears in the About Microsoft Outlook dialog box.

NOTE: If the update is already installed on your computer, you receive the following message when you try to install the update:
This update has already been applied or is included in an update that has already been applied.

Windows Installer 2.0 Update Requirements

The installation of the update described in this article requires that your version of Microsoft Windows Installer be 2.0 or later. Microsoft Windows 2000 Service Pack 3 (SP-3) include this version of the Windows Installer. To install the latest version of the Windows Installer, visit one of the following Microsoft Web sites

For Windows Installer for Microsoft Windows 95, Microsoft Windows 98, and Microsoft Windows Millenium Edition (Me):For Windows Installer for Windows NT 4.0 and 2000:

WORKAROUND

Depending on the needs of your solution, you can work around the problem by using a different method to reference the item. For more information about how to programmatically reference items,, click the following article number to view the article in the Microsoft Knowledge Base:

208520 Programming examples for referencing items and folders in Outlook 2000

STATUS

Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.

MORE INFORMATION

This problem is not related to the type of folder the items are stored in. The problem occurs regardless of whether the folder is stored in a Personal Folders (.pst) file, Microsoft Exchange public folders, or a Microsoft Exchange mailbox.

Steps to Reproduce the Behavior

  1. Create a new folder, in this case a Contacts folder.
  2. Open a new contact.
  3. On the Tools menu, point to Forms, and then click Design This Form.
  4. On the Form menu, click View Code. Enter the following VBScript code into the Script Editor and then close the Script Editor:
    Dim x
    					
  5. On the Tools menu, point to Forms, and then click Publish Form. The default is to store the Contact form in the folder you created in step 1. Type GetItemFromID Test1 as the Display Name, and then click Publish.
  6. Close and do not save changes to the form.
  7. On the Actions menu, click New GetItemFromID Test1. Enter some contact information and save the contact.
  8. Open a new, default contact.
  9. On the Tools menu, point to Forms, and then click Design This Form.
  10. Click the P.2 page of the form.
  11. On the Form menu, click Control Toolbox. Drag a CommandButton control onto the P.2 page of the form.
  12. On the Form menu, click View Code. Enter the following VBScript code into the Script Editor and then close the Script Editor:
    Sub CommandButton1_Click()
       Dim ns, myFolder, myItem, myEntryID, myStoreID
       Set ns = Application.GetNamespace("MAPI")
       Set myFolder = Application.ActiveExplorer.CurrentFolder
       Set myItem = myFolder.Items(1)
       MsgBox "First item in folder: " & myItem.Subject
       myEntryID = myItem.EntryID
       myStoreID = myItem.Parent.StoreID
       Set myItem = Nothing
       Set myItem = ns.GetItemFromID(myEntryID, myStoreID)
       MsgBox "Item found using GetItemFromID: " & myItem.Subject
       myItem.Display
       Set myItem = Nothing
       Set myFolder = Nothing
       Set ns =  Nothing
    End Sub 
    					
  13. On the Tools menu, point to Forms, and then click Publish Form. The default is to store the Contact form in the folder you created in step 1. Type GetItemFromID Test2 as the Display Name, and then click Publish.
  14. Close and do not save changes to the form.
  15. On the Actions menu, click New GetItemFromID Test2. Switch to the P.2 page of the form, and then click CommandButton.
Result: You receive two message boxes indicating that Outlook has referenced the first item in the folder, but then the item does not appear.

REFERENCES

For more information about how to save the form definition, click the following article number to view the article in the Microsoft Knowledge Base:

207896 Working with form definitions and one-off forms

For more information about available resources and answers to frequently asked questions about Microsoft Outlook 2000 solutions, click the following article number to view the article in the Microsoft Knowledge Base:

146636 Frequently asked questions about custom forms and Outlook solutions


Modification Type:MajorLast Reviewed:6/27/2006
Keywords:kbdownload kbOffice2000preSP4fix kbBug kbMsg kbOutlookObj KB228512