Как копировать текст в текстовые поля, с помощью метода символов

Переводы статьи Переводы статьи
Код статьи: 148815 - Vizualiza?i produsele pentru care se aplic? acest articol.
Развернуть все | Свернуть все

В этой статье

Аннотация

В лист Microsoft Excel можно использовать объекты TextBox для добавления текста, не ограничивается границы ячейки. Можно также использовать текстовые поля на листы диалогов и листы диаграмм, при необходимости специально отформатированного текста.

Текстовая строка, которая копируется в или из объекта TextBox имеет ограничение в 255 знаков при использовании метода символы в Visual Basic для приложений. Другими словами несмотря на то, что текстовое поле могут храниться данные примерно 2000 знаков, текст должен быть добавлен в строках, которые не более, 255 знаков. Чтобы обойти это ограничение, можно использовать процедуры Sub в разделе «Дополнительная информация» данной статьи.

Дополнительная информация

Корпорация Майкрософт предлагает примеры программного кода только для иллюстрации, без каких-либо явных или подразумеваемых гарантий.. Включая, но не ограничивая, подразумеваемые гарантии товарности или пригодности для использования в определенных целях.. В данной статье предполагается, что вы знакомы с языком программирования предложенном в примере, а также с средствами, которые используются для создания и отладки.. Сотрудники службы поддержки Майкрософт могут объяснить возможности конкретной процедуры, но не выполнять модификации примеров для обеспечения функциональных возможностей или создания процедур соответствующих определенным требованиям..В первой процедуре Sub (то есть TextBox_To_TextBox) демонстрируется копирование текста из одного TextBox DrawingObject в другую текстовую рамку. Во второй процедуре Sub Cell_Text_To_TextBox, демонстрирует метод, который можно использовать для копирования значения диапазона ячеек в текстовом поле.

Приведенная ниже процедура Sub копирует текст из одного текстового поля на активный лист в другое текстовое поле на активном листе.

Пример процедуры Visual Basic

Sub TextBox_To_TextBox()

      ' Dimension the variables.
      Dim x As Integer
      Dim txtBox1 As TextBox, txtBox2 As TextBox
      Dim theText As String

      ' Set txtBox1 and txtBox2 equal to the active sheet's TextBox
      ' objects. Replace the ordinal number with your TextBox names
      ' in quotes. For example: ActiveSheet.DrawingObjects("Text 1")
      Set txtBox1 = ActiveSheet.DrawingObjects(1)
      Set txtBox2 = ActiveSheet.DrawingObjects(2)

      ' Create a For-Next construct that loops until there is no more
      ' text in txtBox1.
      For x = 1 To txtBox1.Characters.Count Step 250

         ' Place the first text box text into a variable called theText.
         theText = txtBox1.Characters(start:=x, Length:=250).Text

         ' Place the value of theText variable into second text box.
         txtBox2.Characters(start:=x, Length:=250).Text = theText

      Next
   End Sub
				
Приведенная ниже процедура Sub копирует значения из диапазона ячеек, указанных в текстовом поле на активном листе.
   Sub Cell_Text_To_TextBox()

      ' Dimension the variables.
      Dim txtBox1 As TextBox
      Dim theRange As Range, cell As Range
      Dim startPos As Integer

      ' Set txtBox1 equal to the active sheet's TextBox object. You can
      ' replace the ordinal number with your text box name in quotes.
      ' For example: ActiveSheet.DrawingObjects("Text 1")
      Set txtBox1 = ActiveSheet.DrawingObjects(1)

      ' Set a range on the active sheet equal to the range object text
      ' that you are interested in copying to the text box.
      Set theRange = ActiveSheet.Range("A1:A10")

      'Set the starting position for the text.
      startPos = 1

      ' Create a For-Each construct to loop through the cells in the range.
      For Each cell In theRange

         ' Populate the textbox with the cell values using the Characters
         ' method.
         ' Note: Chr(10) can be used to add a new line in the textbox for
         ' each cell.
         txtBox1.Characters(start:=startPos, _
            length:=Len(cell.Value)).Text = cell.Value & Chr(10)

         ' Update the startPos variable to keep track of where the next
         ' string of text will begin in the textbox.
         startPos = startPos + Len(cell.Value) + 1

      Next cell
   End Sub

				

Ссылки

За дополнительной информацией о получении справки в Visual Basic для приложений обратитесь к следующей статье Microsoft Knowledge Base:
163435VBA: Программирование ресурсы для Visual Basic для приложений

Свойства

Код статьи: 148815 - Последний отзыв: 13 ноября 2010 г. - Revision: 2.0
Информация в данной статье относится к следующим продуктам.
  • Microsoft Excel 97 Standard Edition
Ключевые слова: 
kbdtacode kbhowto kbmt KB148815 KbMtru
Переведено с помощью машинного перевода
ВНИМАНИЕ! Перевод данной статьи был выполнен не человеком, а с помощью программы машинного перевода, разработанной корпорацией Майкрософт. Корпорация Майкрософт предлагает вам статьи, переведенные как людьми, так и средствами машинного перевода, чтобы у вас была возможность ознакомиться со статьями базы знаний KB на родном языке. Однако машинный перевод не всегда идеален. Он может содержать смысловые, синтаксические и грамматические ошибки, подобно тому как иностранец делает ошибки, пытаясь говорить на вашем языке. Корпорация Майкрософт не несет ответственности за неточности, ошибки и возможный ущерб, причиненный в результате неправильного перевода или его использования. Корпорация Майкрософт также часто обновляет средства машинного перевода.
Эта статья на английском языке:148815
Заявление об отказе относительно содержимого статьи о продуктах, поддержка которых прекращена
Эта статья содержит сведения о продуктах, поддержка которых корпорацией Майкрософт прекращена. Поэтому она предлагается как есть и обновляться не будет.

Отправить отзыв

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com