Microsoft KB Archive/130108

= Unable to Set the Text Property of Editbox Class =

Article ID: 130108

Article Last Modified on 10/11/2006

-

APPLIES TO


 * Microsoft Excel 5.0 Standard Edition
 * Microsoft Excel 5.0 for Macintosh
 * Microsoft Excel 95 Standard Edition
 * Microsoft Excel 5.0c
 * Microsoft Excel 5.0 Standard Edition
 * Microsoft Excel 5.0a for Macintosh

-



This article was previously published under Q130108



SYMPTOMS
When you run a Microsoft Visual Basic for Applications subroutine in Microsoft Excel, you may receive the following macro error message:

Runtime Error 1005:

Unable to Set the Text Property of the Editbox Class

This error will occur if the following conditions are true:
 * A macro tries to set the Text property of an edit box on a protected dialog sheet.

-and-
 * The workbook has been closed and reopened since protecting the dialog sheet.

Note that this problem also occurs with check boxes (both on dialogs and also on worksheets).



CAUSE
To change the text of an edit box on a protected dialog sheet, the Lock Text check box must be cleared. The Lock Text check box is located on the Protection tab of the Format Object dialog box for that edit box. When the file is saved, closed, and reopened, the Lock Text check box is reset.



WORKAROUND
Microsoft provides programming examples for illustration only, without warranty either expressed or implied. This includes, but is not limited to, the implied warranties of merchantability or fitness for a particular purpose. This article assumes that you are familiar with the programming language that is being demonstrated and with the tools that are used to create and to debug procedures. Microsoft support engineers 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 requirements. To change the Text property of an edit box by using a Visual Basic for Applications (VBA) subroutine, use one of the following methods.

Method 1
Unprotect the dialog sheet before you change the edit box text, and then reprotect the dialog sheet. The following example uses the Unprotect method to unprotect a dialog sheet that is named "Dialog1." It then changes the text of an edit box that is named "Edit Box 4," and then reprotects the Dialog Sheet. ' You can skip this line if you are adding this code to  ' an existing macro. Sub ChangeEditBox

' Unprotect the dialog sheet. If a password is required, ' remove the apostrophe in front of password and ' change "MyPassword" to the correct password. DialogSheets("Dialog1").Unprotect 'password:="MyPassword"

' Change the edit box text to "Hello." You should verify and ' change "Edit Box 4" to the correct name. DialogSheets("Dialog1").EditBoxes("Edit Box 4").Text = "Hello"

' Reprotect the worksheet. If a password is required, ' remove the apostrophe in front of password and change ' "MyPassword" to the correct password. DialogSheets("Dialog1").Protect 'password:="MyPassword"

End Sub

Method 2
Leave the dialog sheet unprotected.



STATUS
Microsoft has confirmed that this is a problem in the Microsoft products that are listed at the beginning of this article.

