Рабочий xlsm-файл (продолжение). Работа с текстами

Особые синтаксисы

В колонке «F» и «G» находятся содержимое реплик с английским и русским текстами соответственно.

Конечно, в этих колонках можно писать что-угодно, и в колонке под названием «Текст 2» могут быть английские слова, а в «Текст 1» русские. Я говорю здесь про реплики, с которыми возможны упражнения. В этом случае место для английского и русского текстов строго определено.

Правила для английского текста реплик, участвующих в упражнениях:

1. Для редуцированных слов используется прямой штрих (‘). Символ привязан обычно к клавише с русской «э». Если Вы скопировали текст из источника, где вместо прямого штриха используют косой или одинарную кавычку, ничего страшного – я выделил в отдельный макрос с возможностью сделать массовые замены «неправильного» синтаксиса.

2. Если текст заключить в квадратные скобки, то он будет автоматически вскрываться во время выполнения упражнения. Т.е. текст в квадратных скобках пользователю печатать не придётся.

Самое распространенное применение данного синтаксиса – ввод автора реплики в начале фразы. Для этого даже существует отдельный макрос. Работает он следующим образом:

  • Пользователь выбирает группу ячеек, где хочет отформатировать «автора».
  • Если в ячейке есть двоеточие, то из текста до начала двоеточия делается автор. Пример:
До макроса: Bill: How do you do? 
После: [BILL]: — How do you do?

3. Если текст заключить в фигурные скобки и предоставить варианты написания через вертикальную черту «|», то при выполнении упражнения у пользователя будет альтернатива написания текста. Например:

  • Конструкция {he’s|he has} предлагает в данном месте два варианта: или редуцированную форму или полную. Если пользователь решит в этом месте упражнения написать «he is», то это будет считаться ошибкой.
  • Конструкция типа {say|tell} вводит альтернативу в виде написании близких по смыслу слов/фраз, т.е. синонимов. Это может использоваться, например, в упражнениях «Перевод».

Однако следует помнить две вещи:

  • Данная конструкция видна в режиме просмотр, что выглядит некрасиво. Поэтому рекомендую для реплик с такой конструкцией использовать тип «0».
  • У реплики может быть только одна озвучка. Если для первого описанного случая (редуцированное и полное написание) это не столь важно, то для второго – ситуация другая. Поэтому используйте данный синтаксис не для диктантов, а для переводов.

4. Всё-таки это Excel, а значит дефис в начале текста эта программа поймёт не как начало прямой речи, а как знак минус, что может принести определенные неудобства.  Поэтому и придуман простенький  макрос, который в ВЫБРАННЫХ ячейках заменит дефис на длинное тире, от греха подальше. Данное правило может использоваться и с полем «Текст 2».

Разбиваем и склеиваем тексты

Вы выделили текст в текстовом файле для переноса его в excel. При вставке, excel разместит в каждой ячейке по абзацу. Иногда абзацы будут большими и содержать несколько предложений. Для удобства работы пользователей, я предпочитаю придерживаться правила «Одной ячейке – одно предложение». Конечно бывают исключения – или предложения слишком короткие (тогда в реплику уместно положить пару-тройку) или, наоборот, слишком длинное (тогда одно предложение разобьём на два, а то и три куска…).

P.S. Чтобы в одной ячейке получить новый абзац, нажмите перед нужным для переноса на красную строку текстом Ctrl-Enter

Как всегда, объем рутинных действий сократится при использовании макросов.

По этой команде текст в ячейке, в которой Вы находитесь передается в ячейку на одну строку выше, то есть склеивается с ней. Но речь не идет о склеивании ячеек! Это вообще запрещено при разработке проекта! Объединять можно только их содержимое (тексты).

Эта команда работает аналогично упомянутой выше, только слияние происходит с новой строки внутри ячейки. Добавляется как бы новый абзац к тексту.

Вызвав этот макрос, Вы разделите содержимое ячейки на две части. Границей разделения будет или начало предложения с новой строки или знак окончания предложения – точка, многоточие, вопр.и воскл. знаки. В английском языке есть особенность в пунктуации прямой речи: в отличие от русского языка сначала ставится знак окончания предложения, а потом оно закрывается кавычками. Этот момент тоже учитывается при делении содержимого ячейки. Если ниже делимой ячейки есть ячейка с текстом, то макрос добавит новую строку и уже туда перенесет отделяемую часть текста.

Часто, в результате многократных разбиений, содержимое английских и русских параллельных ячеек не соответствует друг другу. Для исправления ситуации Вы можете использовать макросы склейки, но иногда надо не перенести содержимое ячейки, а поднять саму ячейку повыше, паровозиком зацепив и ячейки ниже. В Excel’e это делается командой «удалить ячейку со сдвигом вверх». То же самое делает и этот макрос. ОДНАКО! Сдвигаются не все ячейки ниже текущей, а только до следующего объекта навигации (Раздел-Урок-Карточка).

Макрос удаляет все пустые строки ниже текущей. Следует знать, что проект не терпит пустых строк. Конвертор как раз и работает до первой пустой строки и если она застряла у Вас посреди проекта, то сконвертируется он не весь. Хотя сделал я это простенький макрос, потому что при переносе текста из Fine Reader’a, Excel у меня понимал начало абзаца за два символа и каждый раз вставлял пустую строку перед каждой ячейкой с текстом. Мне это надоело, и я написал пору строк на VBA.

Форматирование текстов

Реализованные форматы:

a)    Изменение высоты шрифта от 10 до неограниченно. Стандартная высота (которую не надо специально указывать) – 12 пунктов.

b)    Изменение цвета шрифта. Стандартный цвет – черный.

c)    К символам в тексте также применимы свойства «жирный», «курсив», «подчеркивание» и «зачеркивание»

Средства форматирования ячеек (например, фон ячейки) не передаются в программу. Других средств форматирования шрифта (смена названий шрифта, «надстрочные»-«подстрочные» знаки и т.п.) нет.

Для того чтобы передать форматирование в программу, оно предварительно должно быть переведено в теги (похоже на то, как это происходит в html). Например, объявление жирного шрифта – это вставка в текст сдвоенных звёздочек **. А изменение цвета регулируется тегом %%, где вместо нулей указывается индекс цветовой гаммы.

Если заниматься тегами вручную, то через пять минут Вы будете абсолютно уверены, что жизнь без них гораздо приятней… Поэтому и сделаны два насущно необходимых макроса: один переводит форматы в ячейке в теги; другой делает обратную операцию.

Вот к примеру результат работы макроса «Формат в теги»:

Текст

%%Т%%е**к**%%%%%%**с**т%%

Конечно, когда в отформатированном тексте нет нестандартного цвета или размера, то без параметрических тегов всё гораздо проще. Но тем не менее… лучше довериться макросу.

ВАЖНО! Эти макросы (особенно «Формат в теги») совсем не быстрые. Выделив все ячейки проекта и запустив макрос, Вам, может так статься, придется отдыхать несколько часов. Поэтому две рекомендации:

  • Переводите форматы в теги перед конвертацией.
  • Для сокращения времени можете указывать только те ячейки, в которых есть формат. Это обусловлено тем, что макрос не может понять есть форматы в тексте или нет, не пересмотрев каждый символ в тексте. То есть форматированная и неформатированная ячейки обрабатываются практически одинаково. Одинаково долго.

Правда во втором случае, Вы будете запускать макрос не один раз, а много. А значит необходимо Ваше присутствие за компом. Выбирайте сами.

ВАЖНО! Колонки, формат в которых имеет смысл: F-G-H–I. Не выбирайте ячейки для перевода форматов в теги из других колонок! 

Вспомогательные поля для упражнений

Поле «Текст 3» в колонке “H”.

Здесь находится шаблон для некоторых типов упражнений, в которых нет необходимости в качестве ответа печатать весь текст из поля «Текст 1». К слову, упражнения «Пропуски» или «Аудиопропуски» предлагают вписать только недостающий в шаблоне текст, на который здесь указывает три пустых подчеркивания подряд или безальтернативный текст, заключенный в фигурные скобки. Или упражнение «Список» / «Аудиосписок», в которых в конструкцию с фигурными скобками спрятаны варианты ответов, разделенные прямой чертой.

Поле «Описание» в колонке “G”.

У каждого типа упражнений есть стандартное описание, которое может не устраивать Вас при создании своего или переносе упражнения из учебника. В таком случае, Вы берете или придумываете своё. Вот для этого и пригодится поле «Описание».

Разработано в 66 Бит

  • Я принимаю Яндекс.Деньги

Компания «66 Бит»
Copyright © 2008—2012

Тел.: (343) 290-84-76