Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на Basic / VBA


Хостинг Портала RusFAQ.ru:
MosHoster.ru - Профессиональный хостинг на Windows 2008

РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Basic/VBA

Выпуск № 805
от 20.10.2008, 01:05

Администратор:Калашников О.А.
В рассылке:Подписчиков: 249, Экспертов: 21
В номере:Вопросов: 2, Ответов: 3

Нам важно Ваше мнение об этой рассылке.
Оценить этот выпуск рассылки >>


Вопрос № 147122: Имеется текст латинскими буквами. Задача состоит в том, чтобы все латинские буквы заменить на соответствующие им в клавиатурной раскладке русские. Например, F на А, Q на Й ну и т.д. С какого края копать? Знаю как определять символ нажатой кл...
Вопрос № 147206: Добрый день! Я решила пять задач в VBA. Мне нужно поместить их все в один файл Excel. Т.е. при открытии страницы Excel на экране должны видеть пять кнопок "1 задача". "2 задача" и т.д. при нажатии на каждую кнопку срабатывала соот...

Вопрос № 147.122
Имеется текст латинскими буквами. Задача состоит в том, чтобы все латинские буквы заменить на соответствующие им в клавиатурной раскладке русские.
Например, F на А, Q на Й ну и т.д.
С какого края копать?
Знаю как определять символ нажатой клавиши , но как определить значение клавиши в нужной мне раскладке.
Буду приветствовать не код, а подсказка по направлению.
Отправлен: 14.10.2008, 01:33
Вопрос задал: Витер Александр Анатольевич (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 4)

Отвечает: Шичко Игорь
Здравствуйте, Витер Александр Анатольевич!
Могу вам предложить такой вариант решения данной проблемы.
Создать два массива соответствия английских и русских символов.
Далее посимвольно менять. Примеры процедур - в приложении.

Приложение:

Ответ отправил: Шичко Игорь (статус: 10-ый класс)
Ответ отправлен: 14.10.2008, 12:40

Отвечает: HookEst
Здравствуйте, Витер Александр Анатольевич!
например:

Код:


Declare Function GetKeyboardLayoutList Lib "user32" (ByVal nBuff As Long, ByRef lpList As Long) As Long
Declare Function ToAsciiEx Lib "user32" (ByVal uVirtKey As Long, ByVal uScanCode As Long, lpKeyState As Byte, lpChar As Integer, ByVal uFlags As Long, ByVal dwhkl As Long) As Long

Sub t()
Dim r As Range
Dim ret As Long
Dim code As Integer
Dim i As Long
Dim lpList(1) As Long

Set r = Worksheets(1).Rows(1)
ret = GetKeyboardLayoutList(2, ByVal VarPtr(lpList(0)))
For i = 1 To 255
r.Cells(1) = i
ret = ToAsciiEx(i, 0, 0, code, 0, lpList(0))
r.Cells(2) = Chr(code)
ret = ToAs ciiEx(i, 0, 0, code, 0, lpList(1))
r.Cells(3) = Chr(code)
Set r = r.Offset(1)
Next i
End Sub



даст 3 столбца:
в первом виртуальный код клавиши
во втором соответствующий ему символ для 1 раскладки
в третьем соответствующий ему символ для 2 раскладки
CTRL,SHIFT,ALT - не учитывал, для простоты, если надо, см. аргументы ToAscii
Успехов
Ответ отправил: HookEst (статус: Специалист)
Ответ отправлен: 17.10.2008, 09:16
Оценка за ответ: 5
Комментарий оценки:
Как раз то, что нужно. Сделаю программу — выложу.


Вопрос № 147.206
Добрый день! Я решила пять задач в VBA. Мне нужно поместить их все в один файл Excel. Т.е. при открытии страницы Excel на экране должны видеть пять кнопок "1 задача". "2 задача" и т.д. при нажатии на каждую кнопку срабатывала соответствующая задача. Как поместить эти кнопки, без создания макросов?
Отправлен: 14.10.2008, 19:35
Вопрос задал: Rm2003
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Тесленко Евгений Алексеевич
Здравствуйте Rm2003 !
Если Ваши процедуры - "задачи в VBA" размещены в модуле книги, после размещения кнопок на листе достаточно назначить каждой кнопке соответствующую процедуру (макрос). Создание дополнительного кода не потребуется.
Евгений.
Ответ отправил: Тесленко Евгений Алексеевич (статус: Практикант)
Ответ отправлен: 15.10.2008, 18:46


Вы имеете возможность оценить этот выпуск рассылки.
Нам очень важно Ваше мнение!
Оценить этот выпуск рассылки >>

Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2008, Портал RusFAQ.ru, Россия, Москва.
Авторское право: ООО "Мастер-Эксперт Про"
Техподдержка портала, тел.: +7 (926) 535-23-31
Хостинг: "Московский хостер"
Поддержка: "Московский дизайнер"
Авторские права | Реклама на портале

∙ Версия системы: 5.6 от 14.10.2008

Яндекс Rambler's Top100
RusFAQ.ru | MosHoster.ru | MosDesigner.ru
RusIRC.ru | Kalashnikoff.ru | RadioLeader.ru

В избранное