[Excel] Выделенный текст в ячейке

a100258

Как можно программно получить значение выделенного текста в активной ячейке? У ListBox'oв и ComboBox'ов на этот случай есть свойство SelText, а для ячейки такого не нашёл.

kill-still

А откуда ты его хочешь получить? Из VBA?

a100258

Да, хочется из VBA...

okis

А cell.value не подходит? Использовать, например, так:
Dim Result As String
    Dim Rng As Range
    For Each Rng In Selection.Cells
     Result += Rng.Value
    Next Rng
Или как там в vba строки склеиваются...

nawok

CStr(Selection.Value)

a100258

Value возвращает текст во всей ячейке, а мне надо только выделенную часть текста

Andbar

Я так думаю, Excel не является редактором текста и поэтому желание управлять из VBA режимом редактирования содержимого ячейки кажется мне странным. Вне этого режима, понятие текста выделенного в ячейке не определено.

kill-still

Там по моему есть свойство селектед у самой страницы. по которому ты получаешь либо кусочек текста, либо ячейку, либо целую таблицу. По крайней мере copy можно вызвать это точно, а там уже разбираться, что в буфере.
А ты из голого VBA делаешь, или через OLE Automation из какого-нить языка?

a100258


а там уже разбираться, что в буфере.
По-моему, я где-то уже встречал информацию, что из VBA нельзя поглядеть, что в буфере.


А ты из голого VBA делаешь, или через OLE Automation из какого-нить языка?
Одним VBA, видимо, не обойтись. Но о том, что такое OLE Automation у меня весьма туманные представления. (

И ещё у меня одна проблемка: как запустить код на VBA, пока я редактирую содержимое ячейки? По идее, в режиме редактирования доступны кнопки типа Save. Значит, и моя кнопка, к которой будет приписан некий макрос может быть доступной. Но фиг там.

okis

Во время редактирования макросы прекращают работу и не запускаются. Можно, правда, обрабатывать событие cell.change.

kill-still

По-моему, я где-то уже встречал информацию, что из VBA нельзя поглядеть, что в буфере.

Угу, точно...
я просто рассуждал с точки зрения когда из языка обращаешься...
а ты видимо просто макрос пишешь...
Оставить комментарий
Имя или ник:
Комментарий: