Если у вас есть идея или совет по эффективному использованию редактора Word, то пишите мне через форму контактов на сайте. Любые ваши дельные советы и подсказки будут размещены в очередных выпусках рассылки и на сайте (с указанием вашего авторства).
Ключ CardText и его ограничения
Артур задал вопрос: Я воспользовался вашими советами по переводу числа в режим прописи. Только проблема: команда {=123\CardText} не переводит в пропись числа больше 999 999, то есть при вводе 1.000.000 появляется ошибка! Можно ли что-то сделать?
Напомню, что ключ формата CardText, используемый в полях, предназначен для вывода количественных числительных в текстовом формате. Например, при использовании поля {=236 \*CardText} мы получим следующий результат: двести тридцать шесть.
Однако, при использовании ключа CardText существуют три ограничения:
максимальное число, которое может быть переведено в текстовый формат, не должно быть больше 999.999;
переводимое число не может быть отрицательным;
переводимое число может быть дробным, но при этом результат будет округлен до ближайшего числа (например, результат перевода числа 12,65 - тринадцать).
Если пользователь пренебрежет этими ограничениями, то он получит сообщение об ошибке: Ошибка! Число не может быть представлено в указанном формате.
Обойти эти ограничения с использованием данного ключа нельзя. Но можно воспользоваться специальными программами (макросами), позволяющими преобразовывать числа в текст. О таких программах я писал в заметке Число или сумма прописью.
На форуме Microsoft был задан вопрос: Необходимо в тексте Word введенное число преобразовать в текст на русском.
Для того, чтобы преобразовать некое число в текстовый формат, вы можете воспользоваться специальными программами, о которых я писал в заметке Число или сумма прописью.
Но если вам нужно преобразовать уже введенное число, то здесь может помочь следующий макрос (ниже).
В коде макроса используется формула с ключом CardText. Но у этого ключа есть ограничение - максимальное число не может быть больше 999.999 (см. заметку Ключ CardText и его ограничения). Поэтому автор макроса идет на хитрость и объединяет поля. Но в английском языке нет склонений и результат для преобразованного числа получается правильным для чисел свыше 1.000.000 - используется
слово "million". В русском языке итоговый результат будет выглядеть не очень красиво. Поэтому я чуть-чуть подредактировал макрос, заменив слово "million" на "миллион(а/ов)". Тоже не совсем нормально но, по крайней мере, не так режет глаз грамматической неправильностью.
Код макроса:
Sub BigCardText()
'преобразование целого числа в текстовый эквивалент
'источник - http://wordtips.vitalnews.com/Pages/T000203_Converting_Numbers_to_Text.html
Dim sDigits As String
Dim sBigStuff As String
sBigStuff = ""
' Select the full number in which the insertion point is located
Selection.MoveLeft Unit:=wdWord, Count:=1, Extend:=wdMove
Selection.MoveRight Unit:=wdWord, Count:=1, Extend:=wdExtend
' Store the digits in a variable
sDigits = Trim(Selection.Text)
If Val(sDigits) > 999999 Then
If Val(sDigits) <= 999999999 Then
sBigStuff = CStr(Val(sDigits) \ 1000000)
' Create a field containing the big digits and
' the cardtext format flag
Selection.Fields.Add Range:=Selection.Range, _
Type:=wdFieldEmpty, Text:="= " + sBigStuff + " \* CardText", _
PreserveFormatting:=True
' Select the field and copy it
Selection.MoveLeft Unit:=wdWord, Count:=1, Extend:=wdExtend
sBigStuff = Selection.Text & " миллион(а/ов) "
sDigits = Right(sDigits, 6)
End If
End If
If Val(sDigits) <= 999999 Then
' Create a field containing the digits and the cardtext format flag
Selection.Fields.Add Range:=Selection.Range, _
Type:=wdFieldEmpty, Text:="= " + sDigits + " \* CardText", _
PreserveFormatting:=True
' Select the field and copy it
Selection.MoveLeft Unit:=wdWord, Count:=1, Extend:=wdExtend
sDigits = sBigStuff & Selection.Text
' Now put the words in the document
Selection.TypeText Text:=sDigits
Selection.TypeText Text:=" "
Else
MsgBox "Число слишком большое для преобразования", vbOKOnly
End If
End Sub
Избавьтесь от Nimda
Если вы постоянно сталкиваетесь с ошибками, связанными с «недостаточными ресурсами» или «недостаточной памятью», то, в первую очередь, вы должны избавиться от вируса под названием Nimda. Одним из файлов, который атакует этот вирус, является Riched20.dll. Этот файл используется MS Word для формата Rich text. Соответственно, без этого файла Word не может нормально функционировать.
Получить больше информации от Symantec о вирусе, а также инструмент для его уничтожения вы можете здесь: W32.Nimda.A@mm.
Убедитесь, что вы не забыли выполнить пункт по поводу извлечения нового файла Riched20.dll: этот пункт часто забывают выполнять.
Даже если ваш антивирус не регистрирует наличие вируса в системе, вам, возможно, все равно придется извлечь новый Riched20.dll, так как были случаи, когда извлечение нового DLL решали проблему, даже если Nimda и не был обнаружен. Мне кажется, что это связано с тем, что вирус уже удален и больше не может действовать, но поврежденный файл Riched20.dll не был заменен.
Вопрос был задан на форуме Microsoft: При написании документа в Ворде гиперссылки на web страницы автоматически выделяются серым цветом. Где можно поменять это автоматическое выделение на другой цвет?
Человек, ответивший на этот вопрос, дал ссылку на англоязычный ресурс - http://kb.iu.edu/data/ahbl.html.
И на самом деле, изменить цвет гиперссылки просто - достаточно изменить стиль, соответствующий гиперссылкам. Если в вашем документе уже присутствуют ссылки, то в списке стилей вы найдете и стиль для них (рисунок).
Если область задач Стили и форматирование (для Word 2003) не отображается, то в меню Формат выберите команду Стили и форматирование, а если вы используете редактор Word 2007, то воспользуйтесь либо горячими клавишами «Ctrl»+«Shift»+«Alt»+«S», либо на вкладке Главная в группе команд Стили нажмите кнопку вызова диалоговых окон (рисунок).
Теперь наведите указатель мыши на стиль гиперссылки - появится обрамление у стиля - и щелкните правой кнопкой мыши на стиле. В раскрывшемся контекстном меню выберите команду Изменить, чтобы открылось диалоговое окно Изменение стиля.
В диалоговом окне нажмите кнопку Формат и в подменю выберите команду Шрифт. В редакторе Word 2003 откроется одноименное диалоговое окно, в котором измените цвет ссылок в поле Цвет текста. А в редакторе Word 2007 можно просто изменить цвет в поле Цвет текста, которое доступно здесь же - в окне Изменение стиля.
Теперь закройте диалоговые окна и в результате цвет всех гиперссылок в вашем документе будет изменен.
Вся информация, представленная на сайте WordExpert.ru и в этой рассылке, никаким образом не связана с корпорацией Microsoft. В рассылке упоминаются компании и продукты, которые могут быть зарегистрированными торговыми марками и принадлежать различным физическим и юридическим лицам как на территории РФ, так и за ее пределами.
Авторские права на все материалы, опубликованные на сайте WordExpert.ru и в этой рассылке (включая текст, фотографии, подборку, расположение и т.п.) принадлежат Кокину Антону Вадимовичу, если не указано иное. Вы можете свободно использовать и распространять эти материалы с обязательной ссылкой вида "Информация с сайта WordExpert.ru" и с обязательным указанием автора материала.
Все материалы, опубликованные на сайте WordExpert.ru и в этой рассылке, представлены на информационной основе. Вы можете использовать любую информацию с сайта WordExpert.ru или из данной рассылки исключительно на свой страх и риск. Тем не менее, я рекомендую перед применением какой-либо информации с сайта WordExpert.ru или из данной рассылки обязательно сохранять и создавать резервные копии ваших документов.
В этой рассылке также упоминаются различные web-страницы с соответствующими ссылками. Эти ссылки указываются исключительно в информационных целях и никакой рекомендации или одобрения с моей стороны данных веб-страниц не подразумевается, если не указано иное.