Здравствуйте, известна проблема, что чтобы скопировать из редактора VBA русский текст, нужно предварительно переключиться на русскую клавиатуру.
Но это напрягает - все время отслеживать какая раскладка включена.
Попытался сделать горячую клавишу Шифт+Контрл + С чтобы она запускала макрос, который будет нажимать:
1) комбинацию Контрол + 1 (у меня на компьютере она переключает раскладку на русский язык).
2) посылает команду Cntr+ C которая по идее должна копировать в буфер обмена все что выделено.
Но не получается.
Работает только если запускать из книги Эксель, и копирует в буфер обмена какую-то ерунду. А мне надо из редактора ВБА.
вопросы:
1) что я делаю не так, можно ли так решить проблему
2) какие есть альтернативные решения (искал сам, но не нашел решения)
Код, который загружается при открытии книги:
Код при нажатии на контрол+шифт+С:
Но это напрягает - все время отслеживать какая раскладка включена.
Попытался сделать горячую клавишу Шифт+Контрл + С чтобы она запускала макрос, который будет нажимать:
1) комбинацию Контрол + 1 (у меня на компьютере она переключает раскладку на русский язык).
2) посылает команду Cntr+ C которая по идее должна копировать в буфер обмена все что выделено.
Но не получается.
Работает только если запускать из книги Эксель, и копирует в буфер обмена какую-то ерунду. А мне надо из редактора ВБА.
вопросы:
1) что я делаю не так, можно ли так решить проблему
2) какие есть альтернативные решения (искал сам, но не нашел решения)
Код, который загружается при открытии книги:
Код |
---|
Sub CreateOnKey() 'пробую чтобы копировать в буфер обмена только на русской раскладке Application.OnKey "^+c", "CopyWithRightRusLetters" Application.OnKey "^+с", "CopyWithRightRusLetters" End Sub |
Код при нажатии на контрол+шифт+С:
Код |
---|
Sub CopyWithRightRusLetters() 'MsgBox "начало" SendKeys "^1" 'переклсючение на РУССКИЙ язык 'MsgBox "переключился на русский" Application.SendKeys "^c" 'копирование текста на русской раскладке Application.SendKeys "^с" 'копирование текста на русской раскладке 'MsgBox "должен скопироть текст" 'не копирует! должен копировать даже из редактора VBA 'MsgBox "test rus letters to clipboard" End Sub 'текст на русском языке который должен копироваться прямо в редакторе ВБА |