Копирование / управление форматированным текстом в текстовых блоках в Excel 2013 с использованием VBA
Я пытаюсь сделать две вещи в Excel 2013 с помощью VBA:
- Получить FORMATTED текст из текстового поля и манипулировать им (например, HTML). А также
- Скопируйте FORMATTED текст из текстового поля в другое текстовое поле.
Я пробовал две вещи:
'Copies text only. No formatting, but with proper line breaks Dim txtContent As String txtContent = Worksheets("TextBox").Shapes("TextBox1").TextFrame.Characters.Text Worksheets("TextBox").Shapes("TextBox 3").TextFrame.Characters.Text = txtContent
Второй подход был аналогичен предыдущему:
- Вставить из excel в текстовое поле
- Excel VBA; UserForm, запуск одного фрагмента кода для разных значений TextBox
- Код устранения неполадок для макросов и текстовых полей
- Код VBA / Macro для получения значения текстового поля
- Как активировать входной режим с VBA на текстовом поле неактивного x, вставленного в рабочий лист?
'Does not do anything. Produces Run-time error 91 Dim myFrame As TextFrame myFrame = Worksheets("TextBox").Shapes("TextBox1").TextFrame Worksheets("TextBox").Shapes("TextBox 3").TextFrame = myFrame
Пожалуйста помоги.
- Добавление текстовых и текстовых значений в ячейку
- Получить значения для текстового поля из ячейки Excel в C #
- Как изменить цвет фона текстового поля с помощью кнопки
- Удалить строку из текстового поля в слайде PowerPoint из папки - Компонент Error ActiveX не может создать объект
- Выделить текст в Userform TextBox
- Не удалось извлечь содержимое текстового поля Powerpoint в Excel с помощью Excel VBA
- Excel VBA - Shapes Текстовое поле OnChange событие
- Добавление текста в текстовое поле
Вы можете установить или получить форматирование текстовых символов в TextBox следующим образом:
Sub durall() ActiveSheet.Shapes("TextBox 1").TextFrame.Characters.Font.ColorIndex = 3 End Sub
Sub Tester() CopyText ActiveSheet.Shapes("txtOne").TextFrame, _ ActiveSheet.Shapes("txtTwo").TextFrame End Sub Sub CopyText(tf1 As TextFrame, tf2 As TextFrame) Dim n, f As Font tf2.Characters.Text = tf1.Characters.Text For n = 1 To tf1.Characters.Count Set f = tf1.Characters(n, 1).Font With tf2.Characters(n, 1).Font .Bold = f.Bold .Color = f.Color .Italic = f.Italic 'add other properties as needed... End With Next n End Sub