Mahou: Вопрос о работе программы с Excel

Created on 1 Jun 2018  ·  15Comments  ·  Source: BladeMight/Mahou

Ситуация:
Пользователь составляет трехязычные словари в Microsoft Excel.

Проблема:
Пользователю надоело постоянно переключать раскладки при переходе на соседние ячейки для ввода перевода и нажатие горячих клавиш заберёт столько же времени сколько переключение.

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

Question

Most helpful comment

Версию latest-commit 2.7.5.0-dev <8f3a343> нужно официально назвать "спаситель нервных клеток". Всё работет как надо.
Для будущих открывателей этой функции, составителей словарей: создаёте столбцы на языках составляемого словаря в последовательности выбранных в панели языков раскладок, создаёте таблицу, заходите в "Раскладки" => "Переключать раскладки по клавишам" выбираете Tab.
Пишете на первом языке, нажимаете Tab, происходит переход на соседнюю ячейку и автоматическая смена раскладки. При достижении конца строки таблицы происходит переход на следующую строку. Больше нет необходимости постоянно вручную менять раскладку .

All 15 comments

@ArmanHigh Ну если бы у этих ячеек есть свой идентификатор, или есть последовательность по которой происходит переключением между ячейками(например Tab) то можно было бы что-то придумать. Но все же было бы лучше если бы у них был свой идентификатор. Тогда _можно было бы_ его получать при переключении и по нему определять на какую раскладку переключатся.

Или это технически нельзя сделать и нужно копаться в VBA?

Можно попытаться, но мне кажется что такого рода действия лучше(и легче) сделать в скрипте AHK. Там можно все что нужно, получить идентификатор, проверить и выполнить действие(можно даже вызвать гор. клавишу переключения раскладки Mahou).

Почитаю на досуге об AHK. Как промежуточное решение можно сделать смену раскладки на TAB, так-как в пределах Table (например с тремя столбцами) нажатие на эту клавишу в конце строки делает переход на следующую строку. Главное, чтобы при включении этой функции работал переход в Excel.
В текущей версии можно поставить смену раскладки по нажатию на TAB?

В текущей версии можно поставить смену раскладки по нажатию на TAB?

Нет, т.к. при нажатии Tab в области формы гор. клавиши при назначении гор. клавиш во Вкладке раскладки, Tab - переключает фокус, да и бессмысленно было бы, т.к. нужно:

Главное, чтобы при включении этой функции работал переход в Excel.

Думаю добавлю в список основных клавиш смены раскладок 1 клавишей позже.

Хорошо, спасибо.

Версию latest-commit 2.7.5.0-dev <8f3a343> нужно официально назвать "спаситель нервных клеток". Всё работет как надо.
Для будущих открывателей этой функции, составителей словарей: создаёте столбцы на языках составляемого словаря в последовательности выбранных в панели языков раскладок, создаёте таблицу, заходите в "Раскладки" => "Переключать раскладки по клавишам" выбираете Tab.
Пишете на первом языке, нажимаете Tab, происходит переход на соседнюю ячейку и автоматическая смена раскладки. При достижении конца строки таблицы происходит переход на следующую строку. Больше нет необходимости постоянно вручную менять раскладку .

@ArmanHigh Рад что тебе понравилось.

latest-commit 2.7.5.0-dev <8f3a343>

Уверен что у тебя коммит неправильный. Т.к. коммит обновляется только при обновлении из Mahou, при ручном обновлении остается только коммит на который последний раз обновлятся из Mahou. Правильная версия: <5e6f604> т.к. именно в этом коммите я добавил Tab в список клавиш.
Кстати когда в коммите пишешь номер issue на GitHub, он автоматически пишет в этот issue о том что это связано с ним, вот смотри:
rect_19 10 11_23 09 2018

Да, обновлялся вручную. Я видел _5e6f604_, но не пойму как обновиться именно на неё. Т.к. через Mahou вот, скажем, сейчас обновляется на бету _2db2050_, и негде выбрать конкретную версию?

2db2050?

8db2050? - это сейчас последний коммит, который включает изменения из 5e6f604.(Если я их не изменял, а я то что сделал в 5e6f604 - НЕ ИЗМЕНЯЛ).

но не пойму как обновиться именно на неё

На неё не нужно, просто в коммите 5e6f604, я добавил эту функцию и во всех последующих коммитах после этого(если опять я не изменял ничего) будет эта функция. Т.е. просто лучше обновляться на версию с последними изменениями, т.е. latest-commit.

Mahou вот, скажем, сейчас обновляется на бету

Он обновляется на бету "по-последнему изменению" сделанному мной, т.е. latest-commit.

см. Коммиты(Изменения)

Да-да 8db2050, опечатка, обновился на неё. Логику обновлений я понимаю, вероятно неправильно понял насчёт "Правильная версия: <5e6f604>". Раз уж у меня сейчас последняя версия, то она уже включает это изменение.

вероятно неправильно понял насчёт "Правильная версия: <5e6f604>".

Ну тут скорее тот коммит что у тебя был(8f3a343 1 июня) еще раньше чем 5e6f604 12 сентебря, вот я и сказал что он неправильный.

Хм, действительно коммит 5e6f604 был 12 сентября, а 8f3a343 1 июня. Версию я точно правильно писал и вариант выбора Tab тоже точно был, я же его тестировал. Не знаю как так могло выйти.

Не знаю как так могло выйти

Я знаю, и уже писал:

Т.к. коммит обновляется только при обновлении из Mahou, при ручном обновлении остается только коммит на который последний раз обновлятся из Mahou.

т.е. последний раз когда ты обновлялся из Mahou, было на коммит 8f3a343, после чего не обновлялся(в крайнем случае именно по каналу latest-commit), в настройках сохранился коммит 8f3a343 и сегодня при ручном обновлении - обновились только файлы Mahou, а тот коммит что был в настройках так и остался. В итоге он и вывелся при запуске Mahou.

Ааа, ну вот. Теперь разобрался.

@ArmanHigh Кстати с проблемой с неправильной версией в заголовке уже решил проблему в #203. Теперь еще и в самой сборке хранится. Т.е. при ручном обновлении теперь коммит тоже будет обновляться.

Was this page helpful?
0 / 5 - 0 ratings