Страницы: 1
RSS
Присвоить переменной значение буфера обмена
 
Здравствуйте. Подскажите, как можно через макрос буферу обмена (допустим скопирована часть текста из определённой ячейки) присвоить переменную, чтобы значение данной переменной(буфера обмена) можно было бы присвоить другой ячейке. То есть без копи-пасте. (Копи уже есть в буфере обмена).  
 
Почему в буфер, а не сразу в переменную?
 
Если можно сразу в переменную, то будет замечательно. Но выбор части текста - творчество. Выделяется обычно двойным щелчком по определенному слову. В режиме редактирования ячейки можно запустить макрос?
 
Если нужно извлечь из буфера именно текст(выделение внутри ячейки), то особых проблем нет:
Код
Sub GetCB()
With GetObject("New:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}")
    .GetFromClipboard
    ActiveCell.Value = .GetText
End With
End Sub
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Спасибо большое. Это именно то, что надо!
 
Всё очень замечательно работает.
Иногда, выделив новое слово, забываю нажать кнопку "Копировать" и новое слово уже не добавляется(дублируется старое скопированное слово). Можно ли сделать так, чтобы макрос понял, что новое слово - это только что выделенное мышкой и забрал его в буфер обмена?
 
Нет, потому что макросы бессильны в режиме редактирования ячейки.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Спасибо за ответ. Предложенный ранее вариант - просто чудо.
 
Ну не знаю... Думаю проще и универсальнее без всяких макросов просто нажать Ctrl+V :)
 
Цитата
Hugo написал: просто нажать Ctrl+V
Чтобы её нажать, надо сначала перейти к той ячейке, куда надо вставить. А это может быть  и другая книга. Потом придётся обратно вернуться туда, откуда последний раз бралось значение. А если это на одном листе, придётся шерстить лист взад-вперёд бесчисленное количество раз.
 
Ну а макрос Дмитрия куда пишет содержимое буфера?
Или Вам нужно постоянно писать в одну определённую ячейку? Тогда да, можно её прописать в макрос... Тогда есть смысл его использовать.
Страницы: 1
Читают тему
Наверх