Добрый день. Люди добрые, может кто-нибудь поможет сделать макрос для запоминания англ. слов (предложений). Описание: после вызова макроса появляется форма (см. лист "Пример формы"). В форме 2 поля и 2 кнопки. При нажатии на кн. «Следующее» в верхнем поле появляется русское предложение, при следующем нажатии этой кнопки в нижнем поле появляется английское предложение. Желательно чтобы русское при этом не уходило, чтобы не забыть какое-либо слово. База находится на 1 странице: в столбце А – русские предложения, в столбце В – английские. Если предложение знаешь, то жмешь кн. «Следующее», если не знаешь, то жмешь кн. «Не выучил» и невыученные предложения парой (например: рус. из ячейки А2 + анг. из ячейки В2) копируются на другой лист «Не выученное». И, если можно, то сделать шрифт не слишком мелкий (Arial 20 или т.п.), лишь бы длинные предложения умещались в форму. Заранее спасибо и извините, если слишком много хотелок.
Спасибо. Но в рекомендуемой Вами программе English_Word, можно работать только с готовыми словарями .dat и не вижу возможности работы со своими примерами в формате Ексель (у меня же есть готовые паттерны в Екселе). Также хотелось бы, не выбирать из 5-ти готовых вариантов, а активно вспоминать самому. Ну, а если бы программа могла сохранять трудные слова на отдельном листе, чтобы прорабатывать потом только их - это было значительно ускорило время освоения английского. Можно, конечно, по-старинке: писать карточки вручную, но это занимает много времени. Есть еще "Анки", но она не портабельна поэтому макрос в Ексель был бы идеальным вариантом. p.s. teacher - не пошел на Win 8.1
Денис Зуев написал: и извините, если слишком много хотелок.
извините, что нарушаю Правила Форума? или что не ознакомился с ними? - зачем извиняться, если можно исправляться? Количество вопросов вас не смущает? -
Цитата
Денис Зуев написал: 1) появляется форма (см. лист "Пример формы"). В форме 2 поля и 2 кнопки. 2) При нажатии на кн. «Следующее» в верхнем поле появляется русское предложение, 3) при следующем нажатии этой кнопки в нижнем поле появляется английское предложение. 4) Если предложение знаешь, то жмешь кн. «Следующее», 5) если не знаешь, то жмешь кн. «Не выучил» 6) невыученные предложения парой (например: рус. из ячейки А2 + анг. из ячейки В2) копируются на другой лист «Не выученное». 7) сделать шрифт не слишком мелкий (Arial 20 или т.п.),
на какие вопросы нашли ответы через Поиск? как пробовали применить для своей проблемы? в чём и где возникла проблема? p.s. ищите примеры оформления TextBox и подтягивайте в др. поле с листа - или методом Range().Find, или поиском по массиву, или по словарю, созданному из массива или собранному из ячеек..... или Application.Match
чтобы не гадать на кофейной гуще, кто вам отвечает и после этого не совершать кучу ошибок - обратитесь к собеседнику на ВЫ - ответ на ваш вопрос получите - а остальное вас не касается (п.п.п. на форумах)
Вы правы. Нашел, в соседней ветке, на просторах «Планеты Excel», программу для английских слов. Переделал под себя как мог. Осталось решить 2 вопроса: 1.С копированием на другой лист невыученных слов; 2. Отображение ответа не в TextBox, а таком же поле (Label), как и вопрос, чтобы можно было увеличить шрифт. Помогите пож-ста, т.к. VBA не знаю.
А в какой момент должен появиться перевод? И Label только из-за того, чтобы увеличить размер шрифта? Но ведь и в ТекстБокс (а не в MsgBox, как сейчас) можно задать нужный размер шрифта.
При нажатии на кн. «Следующее» в верхнем поле появляется русское предложение, при следующем нажатии этой же кнопки, в нижнем поле появляется английское предложение (перевод). Желательно чтобы русское при этом не уходило. Label или ТекстБокс - не принципиально,важен размер шрифта. Но писать в ТекстБоксе не планируется (займет больше времени, а важна скорость повторения), только перебирать предложения с др. листа.
Так в чём же смысл тестирования? Человек будет просто жать на кнопку «Следующее». Я так понимаю, что в нижнем поле тестируемый должен написать СВОЙ вариант перевода, а потом идёт сравнение.
Цитата
Денис Зуев написал: Желательно чтобы русское при этом не уходило.
Есть файлы с готовыми примерами в Ексель. Смысл проги в том, чтобы показать из базы предложение на русском, быстро вспомнить его на английском и следующим нажатием проверить правильность его воспроизведения. Наработать скорость воспроизведения каждой фразы - до 2-3 сек. Т.е. добиться автоматизма на готовых примерах. Русский текст данного предложения исчезает как и сейчас, при следующем нажатии кнопки "Следующее". Т.е. нажал - появился только русский текст сверху; нажал - на экране остается русский сверху и появляется англ. снизу; нажал - сверху новое русское предложение (анг. - пусто); нажал - на экране остается русский сверху и появляется англ. снизу, и т.д.
Юрий М написал: Посмотрите вариант, и скажите, что сейчас не так.
Английский сразу видно быть не должно. Я его должен вспомнить сам. А уже потом нажать и проверить: правильно я его помню или нет. Т.к. перевести с на анг. на рус. достаточно легко. А вот обратно воспроизвести фразу уже труднее
Извините еще раз. Не посмотрел. Спасибо большущее!!! Теперь изучение английского пойдет гораздо быстрее!!! А можно последнюю просьбу (если конечно реализовать ее не сложно). Можно как-то завершить цикл? Т.е. в базе 20 слов. Можно показывать их по порядку и после программа завершает показ. Просто сейчас не понятно: все слова были показаны из базы или что-то программа не успела показать, а ты завершил просмотр.
Добавил цифры перед предложениями. Может так отслеживать еще не показанное будет проще? Хотя если в базе 30 фраз, была показана 27-ая или нет - будет сложно определить.
Я бы немного изменил схему: добавил бы на форму кнопку "Перевести", при нажатию на которую в ТекстБокс мы получали бы перевод. А кнопка "Следующее", как и обычно. Со счётчиком проблема решаема.
Теперь программа стала идеальна! Есть все что нужно. Есть еще светлые головы в России! Спасибо большое за потраченное на меня силы и время. Теперь английский держись!!!
Для перебора фраз я думаю это не принципиально. Тем более, что случайное добавление или удаление слова в это поле не влияет ни на базу, ни на копирование невыученных слов.
Заметил одну деталь. Программа берет из базы (например, из 30 шт.) фразы в случайном порядке. Какие-то фразы она покажет 3 раза, какие-то 2 раза и какие-то 1 раз, а несколько шт. - ни разу. Счетчик отсчитает 30 раз и либо выходим, либо продолжаем заниматься. Но может получиться, что какую-либо фразу, программа не покажет и за 2 раза, т.е. она останется не выученной.
Такой вариант возможен. Обходной маневр: или переделывать код, чтобы были только неповторяющиеся случайные значения, или перебирать подряд все строки в базе. Второй проще в реализации.
А можно второй вариант, фиг с ним (со случайным перебором). Порядок работы планирую такой: прошел базу, на ее место копируем невыученные слова и добавляем еще новые слова. Поэтому случайный перебор не принципиален.
Ну теперь вроде все. Спасибо, что не бросили со мной возиться. Надеюсь, что программа пригодиться не только мне, но и другим изучающим английский язык.
Здравствуйте Юрий. А можно еще одну просьбу? Если в ячейке с русской фразой, часть предложения перенесена на другую строку с помощью ALT+Enter, то программа не показывает перевод этой строки в ТекстБоксе (см. приложенный файл). Я так понимаю, дело в последней строке (выделял красным)
Код
Private Sub CommandButton5_Click()
Dim Rng As Range
Set Rng = Sheets("List of words").Columns(1).Find(what:=Me.Label2.Caption, LookIn:=xlValues, lookAt:=xlWhole, SearchDirection:=xlPrevious)
Можно как-то обойти это или все предложения должны быть только в одну строку?