Игнорирование умных кавычек при сравнении текста (Microsoft Word)
У Ли есть макрос, который сравнивает, абзац за абзацем, два документа. Ему нужен способ отказаться от использования умных кавычек в абзаце. Другими словами, если два абзаца похожи во всех отношениях — за исключением того, что в одном используются умные кавычки, а в другом нет, — Ли по-прежнему хочет считать абзацы эквивалентными.
Самый простой способ справиться с этой ситуацией — просто заменить любые умные кавычки обычными кавычками, а затем провести сравнение. Например, если ваш макрос проходит через документ и присваивает текст абзаца переменной (такой как sThisPar), вы можете избавиться от умных кавычек в тексте, используя этот код:
sThisPar = RepText(sThisPar, Chr(145), "'") sThisPar = RepText(sThisPar, Chr(146), "'") sThisPar = RepText(sThisPar, Chr(147), Chr(34)) sThisPar = RepText(sThisPar, Chr(148), Chr(34))
Эти строки заменяют умные версии открывающих и закрывающих кавычек и апострофов их «простыми» эквивалентами. Этот код основан на функции RepText, которая не показана в этом совете. Подпрограмма ничего не делает, кроме замены одного фрагмента текста другим. В некоторых версиях VBA вместо этого можно использовать команду «Заменить», которая встроена в эти версии языка.
Пока вы занимаетесь этим, вы также можете заменить другие специфические для Word символы их простыми эквивалентами. Следующие строки заменяют, соответственно, короткие тире, длинные тире и эллипсы.
sThisPar = RepText(sThisPar, Chr(150), "-") sThisPar = RepText(sThisPar, Chr(151), "--") sThisPar = RepText(sThisPar, Chr(133), "...")
После того, как замены будут выполнены, вы сможете с большей уверенностью сравнивать текст в абзацах.
Если по какой-то причине вы не можете изменить код макроса, возможно, вы захотите просто заменить умные кавычки в своих документах обычными кавычками перед запуском макроса. Откройте документ, отключите автоматические умные кавычки (в диалоговом окне Автозамена), а затем выполните две операции поиска и замены, чтобы, во-первых, заменить каждую цитату цитатой (поместите цитату в поля «Найти» и «Заменить на») и , во-вторых, заменить каждый апостроф апострофом. Затем вы можете запустить свои макросы, и сравнение должно пройти более плавно.
_Примечание: _
Если вы хотите знать, как использовать макросы, описанные на этой странице (или на любой другой странице на сайтах WordTips), я подготовил специальную страницу, содержащую полезную информацию.
link: / wordribbon-WordTipsMacros [Щелкните здесь, чтобы открыть эту специальную страницу в новой вкладке браузера]
.
WordTips — ваш источник экономичного обучения работе с Microsoft Word.
(Microsoft Word — самая популярная программа для обработки текстов в мире.) Этот совет (11983) применим к Microsoft Word 2007, 2010, 2013 и 2016. Вы можете найти версию этого совета для старого интерфейса меню Word здесь:
link: / word-Ignoring_Smart_Quotes_when_Comparing_Text [Игнорирование умных кавычек при сравнении текста]
.