XL97: Implicitly Setting Value of Range Object Crashes Excel

ID: Q221568


The information in this article applies to:


SYMPTOMS

When you run a Microsoft Visual Basic for Applications macro, you may receive an error message similar to the following:

EXCEL caused an invalid page fault in module <unknown> at 0000:000006ff.
-or-
An application error has occurred and an application log is being generated.

EXCEL.exe

Exception: access violation(0xc0000005), Address: 0x307de830


CAUSE

This problem may occur when the following conditions are true:


RESOLUTION

Microsoft has released a patch for Microsoft Excel that fixes this problem. See the "More Information" section later in this article for instructions on how to download and install this patch.

NOTE: This patch is designed to update Microsoft Excel 97 Service Release 2 (SR-2).

NOTE: This patch includes the fix for the CALL vulnerability problem. For additional information about the CALL vulnerability problem, please see the following article in the Microsoft Knowledge Base:

Q196791 XL97: Patch Available for Excel CALL Vulnerability


WORKAROUND

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 fee-based consulting 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://support.microsoft.com/support/

To work around this problem temporarily, use the Value property when you set the value of a Range object. The following example illustrates how to do this:


Range("A1").Value = 123 


STATUS

Microsoft has confirmed this to be a problem in the Microsoft products listed at the beginning of this article.


MORE INFORMATION

How Do I Download the Excel 97 Range Object Patch?

Use a Web browser to go to the following Microsoft Web site:
xl8p5.exe

Updating Excel on your Hard Disk

If Excel is installed on your hard disk, follow these steps to install the update:
  1. Double-click the Xl8p5.exe file.


  2. Click OK when you receive the alert that the update has been installed.


Updating a Network Installation of Excel

  1. Download Xl8p5.exe and save it on the desktop.


  2. On the Start menu, click Run. Type the following command line
    c:\windows\desktop\xl8p5.exe /p "path to Excel.exe"
    where path to Excel.exe is the complete path to Excel.exe. You must type the path to Excel.exe in quotation marks; for example, type the following:
    "D:\Office\Excel.exe"
    Then, click OK.

    NOTE: The path cannot exceed 256 characters in length.

    The patch is applied to the specified copy of Excel.exe.


Running the patch in Silent Mode

You can run the patch in silent mode by using the /s switch when you run Xl8p5.exe. Note that you must run Xl8p5.exe from the command prompt (on the Start menu, click Run) to use these switches.

For example, the following runs the patch in silent mode:
path\xl8p5.exe /s"
where path is the location of xl8p5.exe.

How Can I Determine Whether the Patch Has Been Successfully Installed?

When you run this patch, it creates a log file named Xl8p5.log in the same folder that contains Excel.exe. You can open this log file to determine whether you have successfully installed the patch. If installation is successful, the status message in the log file is similar to the following:

   Microsoft Excel 97 SR-2 KB Article 221568 Patch - Patch RUP 99030801
   Microsoft Excel has been patched successfully. 

In addition, you can determine whether you have successfully installed the patch by following these steps:
  1. Use Microsoft Windows Explorer to locate the Excel.exe file.

    The default location for this file is the following folder:

    C:\Program Files\Microsoft Office\Office
    NOTE: If you are running Microsoft Excel 97 from a network server, Excel.exe is located on the network server.


  2. Right-click Excel.exe. On the shortcut menu, click Properties. Click the Version tab.


  3. Note the File Version and compare it to the following table.

    The version that is displayed in the Properties dialog box indicates which version of Microsoft Excel 97 you are currently running. If the version number is 8.0g, you have successfully updated Microsoft Excel 97.

    You can also determine which version of Microsoft Excel you have installed by clicking About Microsoft Excel on the Help menu in Microsoft Excel 97, or by checking the value that is returned by Application.Build or Application.Version in a Microsoft Visual Basic for Applications macro.
    
       File              Application.Build/ 
       Version           About menu         Version      Application.Version
       ---------------------------------------------------------------------
    
       Excel 97 SR-2     Excel 97 SR-2      8.0e         5618 / 8.0e
    
       Excel 97 SR-2     Excel 97 SR-2(f)   8.0f         5619 / 8.0f
       and Xl8p4.exe
    
       Excel 97 SR-2     Excel 97 SR-2(g)   8.0g         5620 / 8.0g
       and Xl8p5.exe 


Additional query words: XL97 GPF IPF crash


Keywords          : kbdta kbdtacode xlvbainfo xlgpf 
Version           : WINDOWS:97
Platform          : WINDOWS 
Issue type        : kbbug 

Last Reviewed: July 2, 1999