Как выбрать (или скопировать) текст с метки ActiveX Word 2010?

Документ Word 2010 имеет метку ActiveX, которая отображает некоторый текст. Есть ли способ сделать текст выбираемым или копируемым с точки зрения пользователя, чтобы он мог вставить его куда-нибудь еще?

Вариант использования: я даю кому-то форму, они заполняют ее и возвращают мне. Рассматриваемый элемент - это Label, который при двойном щелчке создает UserForm1, на котором есть ListBox. После того как один или несколько вариантов будут выбраны, и пользователь нажмет OK на UserForm1, метка в документе Word будет обновлена. Затем я получаю обратно форму и хочу щелкнуть правой кнопкой мыши ярлык, скопировать текст и вставить его в электронное письмо.

1 ответ

Решение

Вы не можете, по крайней мере, с точки зрения конечного пользователя. Позволь мне объяснить.

Сначала я хотел добиться этого с помощью Label, но вскоре обнаружил, что не могу скопировать отображаемый там текст с помощью обычного ctrl-c или щелчка правой кнопкой мыши> copy.

Итак, я переключил его на TextBox. Это сработало в некоторой степени, и данные были отображены, хотя с одним недостатком: Word 2010, кажется, помещает кучу невыбираемого пространства между последней строкой в ​​TextBox и нижней частью TextBox, делая большую часть содержимого скрытой, пока вы не прокрутите обратно до вершина этого.

Вот как это выглядело:

Сравнение подхода TextBox и Label перед исправлением

Заметили все пустое, невыбираемое место под последним элементом в списке?

Решением моей проблемы со 100% текста, который не отображался в поле, было использование этой строки кода, которая помещает курсор в верхнюю часть текста после того, как значения помещены в TextBox:

ThisDocument.functionalComponentsTextBox.SelStart = 0

Это в основном моделирует пользователя, нажимающего вручную на TextBox и нажимающего клавишу Up, пока он не достигнет вершины TextBox. При этом выборки из ListBox теперь сохраняются в TextBox, содержимое которого можно копировать и вставлять в любое место в рамках наших бизнес-процессов.

Вот как это выглядит после: идеальное совпадение по сравнению с правильно отображаемым подходом Label! Дополнительный бонус: текст выбирается, а текстовое поле настраивается, поэтому я удалил из него границу... не могу отличить!

Сравнение подхода TextBox и Label после исправления

Другие вопросы по тегам