3

Я хочу использовать Microsoft Word, чтобы исправить текст. Но мне нужно, чтобы Word использовал список новых / пользовательских правил проверки орфографии: например, замените «fcarce» на «дефицитный». Я мог бы добавить каждое правило вручную, но это заняло бы часы, если не дни. Есть ли способ добавить весь список в Word?

PS Я знаю, как добавить пользовательский словарь. Но похоже, что пользовательский словарь - это просто список правильно написанных слов, когда мне нужен список неправильно написанных слов и правильное написание, чтобы заменить их.

3 ответа3

0

Для автокоррекции вы можете сделать это. Требуется VBA. Эта версия заменяет только обычный текст, а не форматированный текст. AFAIK работает на Win Word 2010 (и, вероятно, 2007/2013) и Mac Word 2011.

(Автокоррекция в основном допускает только "правила", в которых одно конкретное слово заменяется другим текстом - насколько я знаю, нет средств для проверки грамматических элементов, таких как множественные версии слов, или для подстановочных знаков любого рода)

Создайте документ Word, содержащий одну таблицу с двумя столбцами. Сохраните ваш документ.

Поместите "От" в верхнюю ячейку первого столбца. Поместите "К" в верхнюю ячейку второго столбца.

Предположим, у вас есть 100 правил.

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

Автозамена в этой таблице заменит все существующие автозамены на то же "из", поэтому будьте осторожны с тем, что вы положили в эту таблицу.

Когда вы закончите, сохраните свою работу.

Затем вам нужно вставить следующий VBA и запустить его. Для некоторой довольно устаревшей помощи в этом, см. Эту ссылку

Sub importautocorrects()
Dim objACE As Word.AutoCorrectEntry
Dim objDocument As Word.Document
Dim r As Word.Range
Dim objTable As Word.Table
Dim i As Integer
Set objDocument = ActiveDocument
Set objTable = objDocument.Tables(1)
For i = 2 To objTable.Rows.Count
  With objTable.Rows(i)
      Word.AutoCorrect.Entries.Add _
        Left(.Cells(1).Range.Text, _
        Len(.Cells(1).Range.Text) - 2), _
        Left(.Cells(2).Range.Text, _
        Len(.Cells(2).Range.Text) - 2)
  End With
Next
Set objTable = Nothing
Set objDocument = Nothing
End Sub
0

Я попробовал макро-рекордер, и добавление к автозамене записей может быть записано. В качестве примера я добавил исправление abc в ABC:

Sub Macro1()
AutoCorrect.Entries.Add Name:="abc", Value:="ABC"
With Options
    .AutoFormatAsYouTypeApplyHeadings = False
    .AutoFormatAsYouTypeApplyBorders = True
    .AutoFormatAsYouTypeApplyBulletedLists = True
    .AutoFormatAsYouTypeApplyNumberedLists = True
    .AutoFormatAsYouTypeApplyTables = True
    .AutoFormatAsYouTypeReplaceQuotes = True
    .AutoFormatAsYouTypeReplaceSymbols = True
    .AutoFormatAsYouTypeReplaceOrdinals = True
    .AutoFormatAsYouTypeReplaceFractions = True
    .AutoFormatAsYouTypeReplacePlainTextEmphasis = False
    .AutoFormatAsYouTypeReplaceHyperlinks = True
    .AutoFormatAsYouTypeFormatListItemBeginning = True
    .AutoFormatAsYouTypeDefineStyles = False
    .TabIndentKey = True
End With
With AutoCorrect
    .CorrectInitialCaps = True
    .CorrectSentenceCaps = True
    .CorrectDays = True
    .CorrectCapsLock = True
    .ReplaceText = True
    .ReplaceTextFromSpellingChecker = True
    .CorrectKeyboardSetting = False
    .DisplayAutoCorrectOptions = True
    .CorrectTableCells = True
End With
With OMathAutoCorrect
    .UseOutsideOMath = False
    .ReplaceText = True
End With
With Options
    .AutoFormatApplyHeadings = True
    .AutoFormatApplyLists = True
    .AutoFormatApplyBulletedLists = True
    .AutoFormatApplyOtherParas = True
    .AutoFormatReplaceQuotes = True
    .AutoFormatReplaceSymbols = True
    .AutoFormatReplaceOrdinals = True
    .AutoFormatReplaceFractions = True
    .AutoFormatReplacePlainTextEmphasis = True
    .AutoFormatReplaceHyperlinks = True
    .AutoFormatPreserveStyles = True
    .AutoFormatPlainTextWordMail = True
End With
Options.LabelSmartTags = False
End Sub

Ясно, что я только что узнал по записи, поэтому я не уверен, какие из этих опций требуются, но это настройки по умолчанию. Но код VBA, который вы ищете, - AutoCorrect.Entries.Add

-1

Чтобы добавить исправления, откройте Word и нажмите Файл> Параметры

В окне настроек нажмите "Проверка". Здесь вы найдете все, что вам нужно о проверке настроек. Если вы нажмете "Параметры автозамены", вы также можете добавить "По мере ввода поправок"; Я думаю, это то, что вы ищете!

Вот скриншот:

скриншот для вариантов

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .